SQL Server에서 테이블의 'CREATE TABLE ..'정의를 검색하는 표준 방법이 있습니까?SQL Server에서 INFORMATION_SCHEMA.VIEW_DEFINITION과 비슷한 테이블 만들기
INFORMATION_SCHEMA에 뷰와 함수/프로 시저의 정의를 요청할 수 있으므로 테이블에 대해 동일한 정보를 얻는 것이 자연 스럽다고 생각했지만 아무 것도 찾지 못했습니다.
SQL Server에서 테이블의 'CREATE TABLE ..'정의를 검색하는 표준 방법이 있습니까?SQL Server에서 INFORMATION_SCHEMA.VIEW_DEFINITION과 비슷한 테이블 만들기
INFORMATION_SCHEMA에 뷰와 함수/프로 시저의 정의를 요청할 수 있으므로 테이블에 대해 동일한 정보를 얻는 것이 자연 스럽다고 생각했지만 아무 것도 찾지 못했습니다.
예 - INFORMATION_SCHEMA.TABLES
이 검색 결과입니다. 당신이 테이블의 컬럼에 대해 알고 싶다면
aspnetdb dbo aspnet_Paths BASE TABLE
aspnetdb dbo aspnet_PersonalizationAllUsers BASE TABLE
aspnetdb dbo aspnet_PersonalizationPerUser BASE TABLE
aspnetdb dbo vw_aspnet_WebPartState_Paths VIEW
aspnetdb dbo vw_aspnet_WebPartState_Shared VIEW
aspnetdb dbo vw_aspnet_WebPartState_User VIEW
aspnetdb dbo aspnet_Applications BASE TABLE
, INFORMATION_SCHEMA.COLUMNS
보고 :
그것은 당신에게 뭔가를 줄 것이다.
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'aspnet_Users'
은 지정된 표의 열에 대한 모든 세부 정보를 제공합니다.
.NET의 SMO (Microsoft.SqlServer.Smo)를 사용하여 테이블을 스크립팅 할 수 있습니다.
오, 아 .. 미안, 네 질문을 이해하지 못했다. – Nestor
보기 및 코드에 INFORMATION_SCHEMA를 사용하면 이 실패하고이됩니다. 데이터는 nvarchar (4000)로 제한되므로 더 긴 내용은 읽히지 않습니다. sys.sql_modules 또는 OBJECT_DEFINITION을 사용하십시오.
테이블의 경우 더 어렵습니다. "테이블"은 열, 제약 조건, 인덱스, 가능성있는 규칙, UDT로 구성됩니다 (나는 아무것도 잊었습니까?). 이것이 SSMS가 뷰 또는 저장 프로 시저에 비해 테이블 스크립팅 옵션이 너무 많은 이유입니다.
SSMS를 프로파일 링하고 SMO를 사용하지 않기를 바란다 ... 또는 SMR을 CLR 코드 또는 xp_cmdshell을 통해 사용하기를 바랍니다.
감사합니다. 귀중한 정보. –
NVARCHAR (MAX) * 바위 *. 아, 우리가 SQL2K에서 뛰어 내야했던 농구 .... –
나는 그 테이블에있는 정보를 찾을 수 있음을 알고 있지만 MSSQL Management Studio에서 작업 할 때 얻을 수있는 것처럼 테이블에 대한 모든 제약 조건을 포함하는 완전한 작성 스크립트를 검색하는 자동 방법을 찾고있었습니다. . –
나는 시스템 카탈로그 뷰에서 어디서든 완벽한 작성 스크립트를 "찾을 수"있다고 생각하지 않습니다. 완전한 스크립트를 원하면 Nestor가 제안한대로 SMO를 사용해야합니다. 모든 종류의 데이터베이스 객체를 스크립트하는 기능을 갖추고 있습니다. 아마도이 시스템 카탈로그 뷰를 검사하고 정보를 전체 작성 스크립트로 연결합니다. –