본문 바로가기

728x90
반응형

연구개발/SQL2008

(31)
권한확인 SELECT *FROM sys database_principals AS prINNER JOIN sys.database_permissions AS peON pe.grantee_principal_id = pr.principal_idINNER JOIN sys.objects AS oON pe . major_id = o . object_idINNER JOIN sys.schemas AS sON o.schema_id = s.schema_idORDER BY pr.name SELECTpr.name,pe.type,pe.permission_name,pe.state_desc,o.name,o.object_idFROM sys.database_principals AS prINNER JOIN sys.database_permissio..
XML로 데이터를 만들어서 SP에서 처리하는 방법(sp_xml_removedocument) 예제 이므로 밑에 데이터를 선언해서 사용했지만. 원래는 CS 단에서 노란부분 처럼 XML로 만들어서 던졌어요. EXEC USP_SWS_SAVE_INSERT '1AAA2BBB', null, null ALTER PROCEDURE USP_SAVE_INSERT @P_XMLDATA VARCHAR(MAX), -- DETAIL XML DATA @P_RTN_CODE VARCHAR(4) OUTPUT, @P_RTN_MSG VARCHAR(2000) OUTPUT 예제 DECLARE @XML_DATA VARCHAR(MAX) -- XML DATA DECLARE @XML_RTN INT -- XML 핸들 번호 RETURN SET @XML_DATA = '1AAA2BBB' -- XML을 담을 임시 테이블을 선언해줍미다. CREATE T..
xp_cmdshell enable and disable 1. xp_cmdshell enable USE master EXEC sp_configure 'show advanced options', 1; go RECONFIGURE; go EXEC sp_configure 'xp_cmdshell', 1; go RECONFIGURE; go 2. xp_cmdshell disable USE master EXEC sp_configure 'show advanced options', 1; go RECONFIGURE; go EXEC sp_configure 'xp_cmdshell', 0; go RECONFIGURE; go 추가) 2010.03.08 MSSQL2005부터는 위에서처럼 기능을 사용하도록 허용하더라도 로그인한 계정에 따라 실행이 안될 수 있다. 그것은 로그인한 계정에 sy..
같은 그룹의 데이터를 붙여서 출력하기  자주가는 블로그에 재미있는 꺼리가 올라와서 간단히 정리해봤습니다. 다음과 같은 형태의 데이터를 다음과 같이 같은 id 그룹별로 쉼표(,)로 붙여서 출력하는 문제입니다. 조건은 a. 커서를 쓰면 안되며, b. 임시 테이블 또는 테이블 변수와 같은 것 사용 없이 쿼리 한 방으로 결과 뽑기 c. 대신 SQL 2005의 CTE 등은 이용해도 되기~ 입니다. 아래의 여러 고수들이 제시한 방법들을 보시기 전에 먼저 한 번 고민해 보시길 바랍니다.^^ 테스트용 데이터 생성하기 USE TEMPDB GO IF EXISTS (SELECT * FROM SYS.TABLES WHERE NAME = 't1' AND type = 'U') DROP TABLE t1 Go CREATE TABLE t1 (id INT, NAME VAR..
SQL Server를 실행하는 서버 사이에서 데이터베이스를 이동할 때 사용 권한 문제를 해결하는 방법 http://support.microsoft.com/kb/240872 SQL Server를 실행하는 서버에서 SQL Server를 실행하는 다른 서버로 데이터베이스를 이동할 때 master 데이터베이스에 있는 로그인과 사용자 데이터베이스에 있는 사용자의 SID(보안 ID)가 일치하지 않을 수 있습니다. 기본적으로 SQL Server 7.0, SQL Server 2000 및 SQL Server 2005에서는 이러한 일치하지 않는 사용자를 매핑하는 sp_change_users_login 시스템 저장 프로시저를 제공합니다. 그러나 sp_change_users_login 저장 프로시저는 표준 SQL Server 로그인을 매핑하는 데만 사용할 수 있으며 한 번에 한 사용자에 대해서만 매핑을 수행해야 합니다. sp..
IP 주소 범위 체크  -- 숫차형 IP주소를 IP Address로 변환하는 함수 작성 CREATE FUNCTION dbo.Func_ConvertNumlp(@ip BIGINT) RETURNS VARCHAR(15) AS BEGIN DECLARE @delimiter VARCHAR(1) ,@SUBNET_MASK INT ,@idx INT ,@ipSeg BIGINT ,@segments VARCHAR(15) SET @delimiter = '.' SET @SUBNET_MASK = 256 SET @idx = 1 SET @ipSeg = 0 SET @segments = '' WHILE (@idx
오라클의 LPAD 함수  /* LPAD 함수 SELECT dbo.Func_lpad(@str, @nofchars, @fillchar) @str = 입력 문자열 @nofchars = 반환할 문자열의 전체길이 @fillchar = 덧붙일 문자 */ CREATE FUNCTION dbo.Func_lpad (@str AS VARCHAR(8000), @nofchars AS INT, @fillchar AS VARCHAR(8000) = '') RETURNS VARCHAR(2000) AS BEGIN RETURN CASE WHEN LEN(@str) >= @nofchars THEN SUBSTRING(@str, 1, @nofchars) ELSE SUBSTRING(REPLICATE(@fillchar, @nofchars), 1, @nofchars - ..
데이터베이스 내의 모든 외래키 비활성화/활성화  CREATE PROCEDURE dbo.usr_Disable_Foreign_Keys @disable BIT = 1 AS DECLARE @sql VARCHAR(500), @schemaName VARCHAR(128), @tableName VARCHAR(128), @foreignKeyName VARCHAR(128) DECLARE foreignKeyCursor CURSOR FOR SELECT ref.constraint_name AS FK_Name, fk.table_schema AS FK_Schema, fk.table_name AS FK_Table FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS ref INNER JOIN INFORMATION_SCHEMA.TABLE_CONS..

728x90
반응형