-- 저장 프로시저, 트리거 및 사용자 정의 함수가 다음에 실행될 때 다시 컴파일되도록 합니다. 
-- 프로시저나 트리거가 다음에 실행될 때 기존 계획을 프로시저 캐시에서 삭제하고 새 계획이 생성되도록 하여 이 작업을 수행합니다.
-- 서비스 도중 일반적이지 않은 조건의 데이터가 사용되어 생성된 실행 계획이 사용되어 성능 이슈가 발생하는 경우, 실행계획 초기화 및 다시 생성에 유용함.

USE AdventureWorks2012;  
GO  
EXEC sp_recompile N'Sales.Customer';  
GO  

참고 자료

https://docs.microsoft.com/ko-kr/sql/relational-databases/system-stored-procedures/sp-recompile-transact-sql?view=sql-server-ver15

 

sp_recompile (Transact-sql) - SQL Server

sp_recompile(Transact-SQL)

docs.microsoft.com

-- MSSQL Error Log가 너무 많이 쌓였을때 유용함
-- 현재의 오류 로그 파일을 닫고 서버를 다시 시작하는 것처럼 오류 로그 확장 번호를 순환시킵니다.
-- 새 오류 로그는 버전, 저작권에 관한 정보 및 새 로그가 작성되었음을 표시하는 행을 포함합니다.

sp_cycle_errorlog  

참고 자료

https://docs.microsoft.com/ko-kr/sql/relational-databases/system-stored-procedures/sp-cycle-errorlog-transact-sql?view=sql-server-2017 

 

sp_cycle_errorlog (Transact-sql) - SQL Server

sp_cycle_errorlog(Transact-SQL)

docs.microsoft.com

데이터베이스 단위로 권한 부여

--Example 
-- DB 명 : TEST_DB
-- Account : test_acc


use [TEST_DB]
GO
-- 권한 부여
GRANT SELECT TO [test_acc]
GRANT ALTER TO [test_acc]
GRANT DELETE TO [test_acc]
GRANT UPDATE TO [test_acc]
GRANT INSERT TO [test_acc]
GRANT CREATE TABLE TO [test_acc]
GO

-- 권한 제거
DENY UPDATE TO [test_acc]
DENY DELETE TO [test_acc]

스키마 단위로 권한 부여

--Example 
-- DB 명 : TEST_DB
-- 스키마 : dbo
-- Account : test_acc


USE [TEST_DB]
GO

CREATE USER [test_acc] FOR LOGIN [test_acc] WITH DEFAULT_SCHEMA=[dbo]

GRANT CONNECT TO test_acc AS [dbo]
GRANT SELECT TO test_acc AS [dbo]
GRANT DELETE TO test_acc AS [dbo]
GRANT UPDATE TO test_acc AS [dbo]
GRANT EXECUTE TO test_acc AS [dbo]
GRANT VIEW DEFINITION TO test_acc AS [dbo]
GO

지정 SP에 권한 부여

--Example
--DB 명 : TEST_DB
-- SP명 : sp_TEST_update
-- Account : Test_Acc

USE [TEST_DB]
GO

grant execute on sp_TEST_update to Test_Acc 
GO

일부 DB만 DB 리스트에 보여지도록

-- Database 소유자를 제외하고 DB 리스트가 보이지 않게 하는 형식

--Example
-- DB 명 : TEST_DB
-- Account :
---- TEST_Service : Database 리스트에 'TEST_DB' DB 확인 불가
---- TEST_Admin : Database 리스트에 'TEST_DB' DB 확인 가능

USE [master] 
GO

alter authorization on database::TEST_DB to TEST_Admin;
deny VIEW ANY DATABASE TO TEST_Service;
GO
-- DB 이관 시 계정 권한 동기화 용도로 사용
-- Database 단위로 실행 필요


--구문
sp_change_users_login [ @Action = ] 'action'   
    [ , [ @UserNamePattern = ] 'user' ]   
    [ , [ @LoginName = ] 'login' ]   
    [ , [ @Password = ] 'password' ]  
[;]  

--현재 사용자와 로그인 간의 매핑에 대한 보고서
EXEC sp_change_users_login 'Report';  

--Create the new login.  
CREATE LOGIN MaryB WITH PASSWORD = '982734snfdHHkjj3';  
GO  
--Map database user MB-Sales to login MaryB.  
USE AdventureWorks2012;  
GO  
EXEC sp_change_users_login 'Update_One', 'MB-Sales', 'MaryB';  
GO 

--계정명이 동일한 경우
EXEC sp_change_users_login 'Update_One', 'MaryB', 'MaryB';  
GO

'DB Skill > MSSQL' 카테고리의 다른 글

MSSQL Error Log 초기화  (0) 2021.06.07
MSSQL 기능 단위로 계정 권한 부여  (0) 2021.06.07
MSSQL 계정에 Role 추가  (0) 2021.06.06
MSSQL 서비스 도중 Hostname 변경  (0) 2021.06.06
MSSQL Long Running Job Check  (0) 2021.06.06

to Top