엔터프라이즈 관리자의 master 데이터베이스의 저장 프로시저 및 확장 저장 프로시저 폴더에서 ‘sp_’ 또는 ‘xp_’로 시작되는 수많은 시스템 저장 프로시저들을 확인할 수 있다. 시스템 저장 프로시저들은 다음과 같이 분류할 수 있다(분류명 뒤에 ‘프로시저’가 생략되어 있음).
∙ Active Directory, 카탈로그, 커서, 데이터베이스 유지 관리 계획, 분산 쿼리, 전체 텍스트 검색, 로그 전달, OLE 자동화, 복제, 보안, SQL 메일, SQL 프로필러, SQL Server 에이전트, 시스템, 웹 길잡이, XML, 일반 확장
이 중에서 가장 많이 사용하는 것이 시스템 프로시저(끝에서 네 번째)다. 이 시스템 프로시저들을 많이 알아두면 데이터베이스 구축, 시스템 관리 및 운영에 큰 도움이 된다.
지금부터 중요한 시스템 프로시저들의 구문과 간단한 설명 및 예제를 알아보기로 한다. 자세한 사항은 SQL 서버 온라인 설명서를 참고하기 바란다.


■ sp_addextendedproc

새 확장 저장 프로시저의 이름을 등록한다. 구문은 다음과 같다.

sp_addextendedproc [ @functname = ] 'procedure' , [ @dllname = ] 'dll'

다음은 xp_hello 확장 저장 프로시저를 추가하는 예제다.

USE master
EXEC sp_addextendedproc xp_hello, 'xp_hello.dll'


■ sp_addmessage

sysmessages 테이블에 새 오류 메시지를 추가한다. 구문은 다음과 같다.

sp_addmessage [ @msgnum =] msg_id , [ @severity = ] severity , [ @msgtext = ] 'msg'
  [, [@lang = ] 'language' ] [, [@with_log=] 'with_log'] [, [@replace = ] 'replace']

다음은 영어(미국)로 된 메시지를 먼저 추가한 다음, 동일한 메시지를 한국어로 추가하는 예제다.

USE master
exec sp_addmessage 50002, 16, '%d rows are in table %s', us_english, 'true', replace
exec sp_addmessage 50002, 16, '%2!의 행 개수는 %1!다.', default, 'true', replace


■ sp_addtype

사용자 정의 데이터 형식을 작성한다. 구문은 다음과 같다.

sp_addtype [ @typename = ] type,
     [ @phystype = ] system_data_type
     [ , [ @nulltype = ] 'null_type' ]
     [ , [ @owner = ] 'owner_name' ]

다음은 SQL 서버가 제공하는 varchar 데이터 형식에 기반을 둔 ssn(사회 보장 번호)이라는 사용자 정의 데이터 형식을 작성하는 예제다. ssn 데이터 형식은 11 자리수인 사회 보장 번호(999-99-9999)를 가지는 열에 사용된다. 이 열은 NULL이 될 수 없다. varchar(11)은 문장 부호(괄호)를 포함하고 있으므로 앞뒤로 작은 따옴표를 사용해야 한다.

USE master
EXEC sp_addtype ssn, 'VARCHAR(11)', 'NOT NULL'


■ sp_addumpdevice

SQL 서버에 백업 장치를 추가한다. 구문은 다음과 같다.

sp_addumpdevice [ @devtype = ] 'device_type' ,
     [ @logicalname = ] 'logical_name' ,
     [ @physicalname = ] 'physical_name'
     [ , { [ @cntrltype = ] controller_type
             | [ @devstatus = ] 'device_status'
        }
    ]

다음은 C:\Dump\Dump1.bak이라는 물리적 이름으로 MYDISKDUMP라는 디스크 백업 장치를 추가하는 예제다.

USE master
EXEC sp_addumpdevice 'disk', 'mydiskdump', 'c:\dump\dump1.bak'


■ sp_attach_db

서버에 데이터베이스를 첨부한다. 구문은 다음과 같다.

sp_attach_db [ @dbname = ] 'dbname' , [ @filename1 = ] 'filename_n' [ ,...16 ]

다음은 현재 서버에 pubs 데이터베이스로 두 파일을 첨부하는 예제다.

EXEC sp_attach_db @dbname = N'pubs',
   @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
   @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'


■ sp_bindefault

열 또는 사용자 정의 데이터 형식에 기본값을 바인딩한다. 구문은 다음과 같다.

sp_bindefault [ @defname = ] 'default' ,
     [ @objname = ] 'object_name'
     [ , [ @futureonly = ] 'futureonly_flag' ]

today라는 기본값이 CREATE DEFAULT 문에 의해 현재 데이터베이스에 정의되었다고 가정할 때, 이 예제는 기본값을 employees 테이블의 [hire date] 열에 바인딩한다. employees 테이블에 행이 추가되고, [hire date] 열의 데이터가 제공되지 않을 때마다 열은 today라는 기본값을 사용하게 된다.

USE master
EXEC sp_bindefault 'today', 'employees.[hire date]'


■ sp_bindrule

열 또는 사용자 정의 데이터 형식에 규칙을 바인딩한다. 구문은 다음과 같다.

sp_bindrule [ @rulename = ] 'rule' ,
     [ @objname = ] 'object_name'
     [ , [ @futureonly = ] 'futureonly_flag' ]

CREATE RULE 문에 의해 현재 데이터베이스에 today라는 규칙이 작성되었다고 가정할 때, 다음은 employees 테이블의 [hire date] 열에 이 규칙을 바인딩하는 예제다. employees에 행이 추가되는 경우, [hire date] 열에 관한 데이터가 today 규칙에 맞는지 확인한다.

USE master
EXEC sp_bindrule 'today', 'employees.[hire date]'


■ sp_bindsession

같은 SQL 서버의 인스턴스에 있는 다른 트랜잭션으로의 연결을 바인딩하거나 바인딩을 해제한다. 바운딩된 연결은 ROLLBACK TRANSACTION 또는 COMMIT TRANSACTION이 발급될 때까지 두 개 이상의 연결이 같은 트랜잭션에 참가하도록 하고 트랜잭션을 공유한다. 구문은 다음과 같다.

sp_bindsession { 'bind_token' | NULL }

다음은 지정된 바인딩 토큰을 현재 세션에 바인딩하는 예제다. 참고로, 다음 예의 바인딩 토큰은 sp_bindsession을 실행하기 전에 sp_getbindtoken을 실행하여 가져왔다.

USE master
EXEC sp_bindsession 'BP9---5---->KB?-V'<>1E:H-7U-]ANZ'


■ sp_configure

현재 서버에 대한 전역 구성 설정을 표시하거나 변경한다. 구문은 다음과 같다.

sp_configure [ [ @configname = ] 'name' ] [ , [ @configvalue = ] 'value' ]

다음은 모든 구성 옵션을 설정하고 나열하는 방법을 보여 주는 예제다. 고급 구성 옵션은 먼저 show advanced option을 1로 설정함으로써 표시된다. 이렇게 변경한 다음 매개 변수 없이 sp_configure를 실행하면 모든 구성 옵션이 표시된다.

USE master
EXEC sp_configure 'show advanced option', '1'


■ sp_create_removable

이동식 미디어 데이터베이스를 작성한다. 세 개 이상(시스템 카탈로그 테이블용으로 하나, 트랜잭션 로그용으로 하나 및 데이터 테이블용으로 하나 이상)의 파일을 작성하고 이러한 파일에 데이터베이스를 놓는다. 구문은 다음과 같다.

sp_create_removable [ @dbname = ] 'dbname'
     , [ @syslogical = ] 'syslogical'
     , [ @sysphysical = ] 'sysphysical'
     , [ @syssize = ] syssize
     , [ @loglogical = ] 'loglogical'
     , [ @logphysical = ] 'logphysical'
     , [ @logsize = ] logsize
     , [ @datalogical1 = ] 'datalogical1'
     , [ @dataphysical1 = ] 'dataphysical1'
     , [ @datasize1 = ] datasize1
     ...
     , [ @datalogical16 = ] 'datalogical16'
     , [ @dataphysical16 = ] 'dataphysical16'
     , [ @datasize16 = ] datasize16 ]

다음은 데이터베이스 inventory를 이동식 데이터베이스로 만드는 것을 보여 주는 예제다.

sp_create_removable 'inventory',
   'invsys', 'c:\Program Files\Microsoft SQLServer\MSSQL\Data\invsys.mdf', 2,
   'invlog', 'c:\Program Files\Microsoft SQLServer\MSSQL\Data\invlog.ldf', 4,
   'invdata', 'c:\Program Files\Microsoft SQLServer\MSSQL\Data\invdata.ndf', 10


■ sp_dboption

데이터베이스 옵션을 표시하거나 변경한다(master 또는 tempdb 데이터베이스에서는 sp_dboption을 사용하지 말것). sp_dboption은 이전 버전과의 호환성 용도로 지원된다. 데이터베이스 옵션을 설정하려면 ALTER DATABASE를 사용한다. 구문은 다음과 같다.

sp_dboption [ [ @dbname = ] 'database' ]
     [ , [ @optname = ] 'option_name' ]
     [ , [ @optvalue = ] 'value' ]

다음은 pubs 데이터베이스를 읽기 전용으로 설정하는 예제다.

USE master
EXEC sp_dboption 'pubs', 'read only', 'TRUE'


■ sp_depends
데이터베이스 개체 종속 관계에 관한 정보(예를 들어, 테이블 또는 뷰에 종속된 뷰 및 프로시저, 뷰 및 프로시저에 종속된 테이블 또는 뷰)를 표시한다. 현재 데이터베이스 외부의 개체에 대한 참조는 보고하지 않는다. 구문은 다음과 같다.

sp_depends [ @objname = ] 'object'

다음은 Customers 테이블에 종속된 데이터베이스 개체를 나열하는 예제다.

USE Northwind
EXEC sp_depends 'Customers'


■ sp_detach_db
서버에서 데이터베이스를 분리하며, 분리하기 전에 선택적으로 모든 테이블에서 UPDATE STATISTICS를 실행한다. 구문은 다음과 같다.

sp_detach_db [ @dbname = ] 'dbname' [ , [ @skipchecks = ] 'skipchecks' ]

다음은 skipchecks를 true로 설정하여 pubs 데이터베이스를 분리하는 예제다.

EXEC sp_detach_db 'pubs', 'true'


■ sp_dropmessage
sysmessages 시스템 테이블에서 지정된 오류 메시지를 삭제한다. 구문은 다음과 같다.

sp_dropmessage [ @msgnum = ] message_number [ , [ @lang = ] 'language' ]

다음은 sysmessages에서 번호가 50001인 메시지를 삭제하는 예제다.

USE master
EXEC sp_dropmessage 50001


■ sp_droptype
systypes에서 사용자 정의 데이터 형식을 삭제한다. 구문은 다음과 같다.

sp_droptype [ @typename = ] 'type'

다음은 사용자 정의 데이터 형식인 birthday를 삭제하는 예제다. 참고로, 이 사용자 정의 데이터 형식은 반드시 이미 존재해야 하며 그렇지 않은 경우에는 오류 메시지가 반환된다.

USE master
EXEC sp_droptype 'birthday'


■ sp_executesql

여러 번 사용할 수 있거나, 동적으로 만들어진 T-SQL문 또는 일괄 처리를 실행한다. T-SQL문 또는 일괄 처리는 포함 매개 변수를 포함할 수 있다. 구문은 다음과 같다.

sp_executesql [@stmt =] stmt
[
     {, [@params =] N'@parameter_name  data_type [,...n]' }
     {, [@param1 =] 'value1' [,...n] }
]

다음은 @level이라는 포함 매개 변수를 포함한 단순 SELECT 문을 작성하고 실행하는 예제다.

execute sp_executesql
          N'select * from pubs.dbo.employee where job_lvl = @level',
          N'@level tinyint',
          @level = 35


■ sp_getbindtoken

트랜잭션에 대한 고유한 식별자를 반환한다. 이 고유한 식별자는 바인드 토큰에 참조된다. sp_getbindtoken은 클라이언트 간에 트랜잭션을 공유하는 데 사용하는 문자열 표시를 반환한다. 구문은 다음과 같다.

sp_getbindtoken [@out_token =] 'return_value' OUTPUT [, @for_xp_flag]

다음은 바인드 토큰을 가져와서 바인드 토큰의 이름을 표시하는 예제다.

DECLARE @bind_token varchar(255)
BEGIN TRAN
EXECUTE sp_getbindtoken @bind_token OUTPUT
SELECT @bind_token AS Token


■ sp_help
데이터베이스 개체(sysobjects 테이블에 나열된 모든 개체), 사용자 정의 데이터 형식 또는 SQL 서버가 공급하는 데이터 형식에 관한 정보를 보고한다. 구문은 다음과 같다.

sp_help [ [ @objname = ] name ]

다음은 sysobjects의 각 개체에 관한 정보를 나열하는 예제다.

USE master
EXEC sp_help

다음은 publishers 테이블에 관한 정보를 표시하는 예제다..

USE pubs
EXEC sp_help publishers


■ sp_helpconstraint
모든 제약 조건 유형, 사용자 정의되었거나 시스템에서 제공하는 이름, 제약 조건 유형을 정의한 열 및 제약 조건을 정의하는 표현식(DEFAULT 및 CHECK 제약 조건에만 적용)의 목록을 보고한다. 구문은 다음과 같다.

sp_helpconstraint [ @objname = ] 'table' [ , [ @nomsg = ] 'no_message' ]

다음은 authors 테이블에 관한 모든 제약 조건을 보여 주는 예제다.

USE pubs
EXEC sp_helpconstraint authors


■ sp_helpdb
지정된 데이터베이스 또는 모든 데이터베이스에 관한 정보를 보고한다. 구문은 다음과 같다.

sp_helpdb [ [ @dbname= ] 'name' ]

다음은 pubs 데이터베이스에 관한 정보를 표시하는 예제다.

exec sp_helpdb pubs

다음은 SQL 서버를 실행하고 있는 서버의 모든 데이터베이스에 관한 정보를 표시하는 예제다.

exec sp_helpdb


■ sp_helpdevice
SQL 서버 데이터베이스 파일에 관한 정보를 보고한다. sp_helpdevice는 데이터베이스 파일의 장치 용어로 사용되는 SQL Server의 이전 버전과의 호환성 용도로 사용된다. 구문은 다음과 같다.

sp_helpdevice [ [ @devname= ] 'name' ]

다음은 SQL Server의 모든 데이터베이스 장치 및 덤프 장치에 관한 정보를 보고하는 예제다.

sp_helpdevice


■ sp_helpextendedproc

현재 정의되어 있는 확장 저장 프로시저 및 프로시저(함수)가 속한 동적 연결 라이브러리의 이름을 표시한다. 구문은 다음과 같다.

sp_helpextendedproc [ [@funcname = ] 'procedure' ]

다음은 모든 확장 저장 프로시저에 관해 보고하는 예제다.

USE master
EXEC sp_helpextendedproc

다음은 xp_cmdshell 확장 저장 프로시저에 관해 보고하는 예제다.

USE master
EXEC sp_helpextendedproc xp_cmdshell


■ sp_helpfile

현재 데이터베이스와 연관된 파일의 물리적 이름 및 특성을 반환한다. 서버에 첨부하거나 서버에서 분리할 파일의 이름을 결정하는데 이 저장 프로시저를 사용한다. 구문은 다음과 같다.

sp_helpfile [ [ @filename = ] 'name' ]

다음은 pubs에 있는 파일에 관한 정보를 반환하는 예제다.

USE pubs
EXEC sp_helpfile


■ sp_helpindex

테이블 또는 뷰의 인덱스에 관한 정보를 보고한다. 구문은 다음과 같다.

sp_helpindex [ @objname = ] 'name'

다음은 sysobjects 테이블에 관한 인덱스의 유형을 보고하는 예제다.

sp_helpindex sysobjects


■ sp_helplanguage

특정한 대체 언어 또는 모든 언어에 관한 정보를 보고한다. 구문은 다음과 같다.

sp_helplanguage [ [ @language = ] 'language' ]

다음은 대체 언어인 한국어에 관한 정보를 표시하는 예제다.

sp_helplanguage korean

다음은 설치된 모든 대체 언어에 관한 정보를 표시하는 예제다.

sp_helplanguage


■ sp_helpserver
특정 원격 또는 복제 서버나 두 유형의 서버 모두에 관한 정보를 보고한다. 연결된 서버에 쿼리 작업을 하거나 접속하기 위해 서버 이름, 서버의 네트워크 이름, 서버의 복제 상태, 서버의 ID번호, 정렬 이름 및 시간 초과 값을 제공한다. 구문은 다음과 같다.

sp_helpserver [ [ @server = ] 'server' ] [ , [ @optname = ] 'option' ]
     [ , [ @show_topology = ] 'show_topology' ]

다음은 모든 서버(매개 변수 없이 sp_helpserver)에 관한 정보를 표시하는 예제다.

USE master
EXEC sp_helpserver

다음은 SEATTLE2라는 서버에 관한 모든 정보를 표시하는 예제다.

USE master
EXEC sp_helpserver 'SEATTLE2'


■ sp_helpsort

Microsoft SQL Server 정렬 순서 및 문자 집합을 표시한다.
다음은 서버의 기본 정렬 순서, 문자 집합 및 주 정렬 값의 표를 표시하는 예제다.

sp_helpsort


■ sp_helpstats

지정된 테이블의 열과 인덱스에 관한 통계 정보를 반환한다. 구문은 다음과 같다.

sp_helpstats[ @objname = ] 'object_name' [ , [ @results = ] 'value' ]

다음은 Northwind 데이터베이스에 있는 모든 사용자 테이블에 대해 적절한 모든 열에 관한 단일 열 통계를 작성한 후, Customers 테이블에서 만들어진 모든 통계 결과를 보는 예제다.

use Northwind
exec sp_createstats
exec sp_helpstats 'Customers', 'ALL'


■ sp_helptext

규칙, 기본값 또는 암호화되지 않은 저장 프로시저, 사용자 정의 함수, 트리거 또는 뷰의 텍스트를 인쇄한다. 구문은 다음과 같다.

sp_helptext [ @objname = ] 'name'

다음은 pubs 데이터베이스에 있는 employee_insupd 트리거의 텍스트를 표시하는 예제다.

USE pubs
EXEC sp_helptext 'employee_insupd'


■ sp_helptrigger

현재 데이터베이스의 지정된 테이블에서 정의된 트리거의 유형을 반환한다. 구문은 다음과 같다.

sp_helptrigger [ @tabname = ] 'table' [ , [ @triggertype = ] 'type' ]

다음은 책 판매량이 10이 되면 오류 50010을 발생시키는 sales_warn이라는 트리거를 작성한 다음, sp_helptrigger가 실행되어 sales 테이블에 있는 트리거에 관한 정보를 작성하는 예제다.

USE pubs
GO
CREATE TRIGGER sales_warn
  ON sales
  FOR INSERT, UPDATE
AS
  RAISERROR (50010, 16, 10)
GO
EXEC sp_helptrigger sales

실행결과

trigger_name  trigger_owner  isupdate  isdelete  isinsert  isafter  isinsteadof
------------- -------------- --------- --------- --------- -------- ------------
sales_warn    dbo            1         0         1         1        0


■ sp_lock

잠금 관련 정보를 보고한다. 구문은 다음과 같다.

sp_lock [[@spid1 =] 'spid1'] [,[@spid2 =] 'spid2']

다음은 현재 SQL Server에서 보유하고 있는 잠금에 관한 모든 정보를 표시하는 예제다.

USE master
EXEC sp_lock

다음은 프로세스 ID 53에 대해 잠금을 포함한 정보를 표시하는 예제다 .

USE master
EXEC sp_lock 53


■ sp_monitor
SQL 서버에 대한 통계를 표시한다. 구문은 다음과 같다.

sp_monitor

결과 집합은 다음과 같은 열을 포함한다.
last_run, current_run, seconds, cpu_busy, io_busy, idle, packets_received,
packets_sent, packet_errors, total_read, total_write, total_errors, connections

다음은 SQL Server가 얼마나 많이 사용되었는지를 보고하는 예제다.

USE master
EXEC sp_monitor


■ sp_procoption

프로시저 옵션을 설정한다. 구문은 다음과 같다.

sp_procoption [ @ProcName = ] 'procedure' , [ @OptionName = ] 'option'
     , [ @OptionValue = ] 'value'

다음은 SQL 서버 서비스가 시작될 때 저장 프로시저 msp_startup가 자동으로 실행되도록 설정하는 예제다.

sp_procoption 'msp_startup', 'startup', 'true'


■ sp_recompile

저장 프로시저 및 트리거가 다음 실행시 다시 컴파일되게 한다. 구문은 다음과 같다.

sp_recompile [ @objname = ] 'object'

다음은 titles 테이블을 사용하는 저장 프로시저 및 트리거가 다음 실행 시 다시 컴파일되게 하는 예제다.

EXEC sp_recompile titles


■ sp_rename

현재 데이터베이스에서 테이블, 열 또는 사용자 정의 데이터 형식 등의 사용자 작성 개체의 이름을 변경한다. 구문은 다음과 같다.

sp_rename [ @objname = ] 'object_name' , [ @newname = ] 'new_name'
     [ , [ @objtype = ] 'object_type' ]

다음은 customers 테이블의 이름을 custs로 바꾸는 예제다.

EXEC sp_rename 'customers', 'custs'

다음은 customers 테이블의 contact title 열의 이름을 title로 바꾸는 예제다.

EXEC sp_rename 'customers.[contact title]', 'title', 'COLUMN'


■ sp_renamedb

데이터베이스의 이름을 변경한다. 구문은 다음과 같다.

sp_renamedb [ @dbname = ] 'old_name' , [ @newname = ] 'new_name'

다음은 accounting 데이터베이스의 이름을 financial로 바꾸는 예제다.

EXEC sp_renamedb 'accounting', 'financial'


■ sp_serveroption

원격 서버 및 연결된 서버용 서버 옵션을 설정한다. SQL 서버 2000에서는 sp_serveroption을 두 가지 새로운 옵션으로 더욱 강화하였다. use remote collation 및 collation name이 그 옵션인데 연결된 서버에서의 데이터 정렬을 지원한다. 구문은 다음과 같다.

sp_serveroption [[@server =] 'server'] [@optname =] 'option_name'
     [@optvalue =] 'option_value'

다음은 다른 SQL Server인 SEATTLE3에 해당되는 연결된 서버가 로컬 SQL Server와 데이터 정렬이 호환되도록 구성하는 예제다.

USE master
EXEC sp_serveroption 'SEATTLE3', 'collation compatible', 'true'


■ sp_settriggerorder

테이블과 연관된 어느 사후 트리거가 처음 또는 마지막으로 시작될 것인지 지정한다. 처음과 마지막 사이에 시작되는 사후 트리거는 정의되지 않은 순서로 실행된다. 구문은 다음과 같다.

sp_settriggerorder[@triggername = ] 'triggername' [@order =] 'value' ,
[@stmttype = ] 'statement_type'

다음은 갱신 트리거 MyTrigger를 처음에 실행되도록 지정하는 예제다.

sp_settriggerorder @triggername= 'MyTrigger', @order='first', @stmttype = 'UPDATE'


■ sp_spaceused

행의 수, 예약된 디스크 공간 및 현재 데이터베이스의 테이블이 사용하는 디스크 공간을 표시하거나 전체 데이터베이스가 예약하였거나 사용하는 디스크 공간을 표시한다. 구문은 다음과 같다.

sp_spaceused [[@objname =] 'objname'] [,[@updateusage =] 'updateusage']

다음은 titles 테이블에 대해 할당된(예약된) 공간, 데이터에 필요한 공간, 인덱스에 필요한 공간 및 데이터베이스 개체에 의해 예약된 사용되지 않은 공간 등에 관해 보고하는 예제다.

USE pubs
EXEC sp_spaceused 'titles'


■ sp_tableoption

사용자 정의 테이블의 옵션 값을 설정한다. sp_tableoption은text, ntext 또는 image 열이 있는 테이블에서 text in row 기능을 설정하는 데 사용할 수 있다. 구문은 다음과 같다.

sp_tableoption [ @TableNamePattern = ] 'table' [@OptionName = ] 'option_name'
     [@OptionValue = ] 'value'

다음은 Northwind 데이터베이스에서 'orders' 테이블에 대해 'text in row' 옵션을 설정하는 예제다.

EXEC sp_tableoption 'orders', 'text in row', 'ON'

다음은 Northwind 데이터베이스에서 'orders' 테이블에 대해 'text in row' 옵션을 설정하고 인라인 제한값을 1000으로 설정하는 예제다.

EXEC sp_tableoption 'orders', 'text in row', '1000'


■ sp_unbindefault

현재 데이터베이스의 열에서 또는 사용자 정의 데이터 형식에서 기본값을 바인딩 해제(제거)한다. 구문은 다음과 같다.

sp_unbindefault [@objname =] 'object_name' [ , [ @futureonly = ] 'futureonly_flag' ]

다음은 employees 테이블의 hiredate 열에서 기본값을 바인딩 해제하는 예제다.

EXEC sp_unbindefault 'employees.hiredate'


■ sp_unbindrule

현재 데이터베이스의 열에서 또는 사용자 정의 데이터 형식에서 규칙을 바인딩 해제한다. 구문은 다음과 같다.

sp_unbindrule [ @objname = ] 'object_name' [ , [ @futureonly = ] 'futureonly_flag' ]

다음은employees 테이블의 startdate 열에서 규칙을 바인딩 해제하는 예제다.

EXEC sp_unbindrule 'employees.startdate'


■ sp_updatestats

현재 데이터베이스의 모든 사용자 정의 테이블에 대해 UPDATE STATISTICS를 실행한다. 구문은 다음과 같다.

sp_updatestats [[@resample =] 'resample']

다음은 pubs 데이터베이스의 테이블에 대한 통계를 업데이트하는 예제다.

USE pubs
EXEC sp_updatestats


■ sp_who

현재 SQL 서버 사용자 및 프로세스에 관한 정보를 제공한다. 유휴 상태가 아닌 프로세스만 반환하려면 반환되는 정보를 필터링하면 된다. 구문은 다음과 같다.

sp_who [[@login_name =] 'login']

다음은 매개 변수 없이 sp_who를 사용하여 모든 현재 사용자를 보고하는 예제다.

USE ffmaster
EXEC sp_who

 

반응형

'Developer > MS SQL' 카테고리의 다른 글

SQL Server의 트랜잭션 로그 파일 축소  (0) 2007.05.06

+ Recent posts