엔터프라이즈 관리자의 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 |
---|