[b]清理日誌檔案[/b]
use master
goalter database matchkraft(資料庫名) set recovery ****** with no_wait
goalter database matchkraft(資料庫名) set recovery ******
gouse matchkraft(資料庫名)
godbcc shrinkfile (dcp_log(資料庫右鍵屬性-檔案-日誌型別-邏輯名稱), 0, truncateonly)
gouse master
go
資料庫右鍵屬性-選項-恢復模式-選擇簡單
[b]許可權管理[/b]
/*--示例說明
示例在資料庫pubs中建立乙個擁有表jobs的所有許可權、擁有表titles的select許可權的角色r_test
隨後建立了乙個登入l_test,然後在資料庫pubs中為登入l_test建立了使用者賬戶u_test
同時將使用者賬戶u_test新增到角色r_test中,使其通過許可權繼承獲取了與角色r_test一樣的許可權
最後使用deny語句拒絕了使用者賬戶u_test對錶titles的select許可權。
經過這樣的處理,使用l_test登入sql server例項後,它只具有表jobs的所有許可權。
--*/
use pubs
--建立角色 r_test
exec sp_addrole 'r_test'
--授予 r_test 對 jobs 表的所有許可權
grant all on jobs to r_test
--授予角色 r_test 對 titles 表的 select 許可權
grant select on titles to r_test
--新增登入 l_test,設定密碼為pwd,預設資料庫為pubs
exec sp_addlogin 'l_test','pwd','pubs'
--為登入 l_test 在資料庫 pubs 中新增安全賬戶 u_test
exec sp_grantdbaccess 'l_test','u_test'
--新增 u_test 為角色 r_test 的成員
exec sp_addrolemember 'r_test','u_test'
--拒絕安全賬戶 u_test 對 titles 表的 select 許可權
deny select on titles to u_test
/*--完成上述步驟後,用 l_test 登入,可以對jobs表進行所有操作,但無法對titles表查詢,雖然角色 r_test 有titles表的select許可權,但已經在安全賬戶中明確拒絕了對titles的select許可權,所以l_test無titles表的select許可權--*/
--從資料庫 pubs 中刪除安全賬戶
exec sp_revokedbaccess 'u_test'
--刪除登入 l_test
exec sp_droplogin 'l_test'
--刪除角色 r_test
exec sp_droprole 'r_test'
exec sp_dropsrvrolemember 'l_test', sysadmin
goexec sp_addsrvrolemember 'l_test', securityadmin
goexec sp_addsrvrolemember 'l_test', sysadmin
goexec sp_addsrvrolemember 'l_test',serveradmin
goexec sp_dropsrvrolemember 'l_test', serveradmin
go
[b]檢視鎖表[/b]
select b.session_id,b.login_name,db_name(a.resource_database_id),
object_name(a.resource_associated_entity_id,a.resource_database_id),
a.resource_type,a.request_mode,a.request_type
from sys.dm_tran_locks a inner join sys.dm_exec_sessions b
on a.request_session_id=b.session_id
where a.resource_type in ('database','object')
order by db_name(a.resource_database_id)
[b]注入[/b]
篩選輸入
篩選輸入可以刪除轉義符,這也可能有助於防止 sql 注入。但由於可引起問題的字元數量很大,因此這並不是一種可靠的防護方法。以下示例可搜尋字串分隔符。
private string safesqlliteral(string inputsql)
like 子句
請注意,如果要使用 like 子句,還必須對萬用字元字元進行轉義:
s = s.replace("[", "[");
s = s.replace("%", "[%]");
s = s.replace("_", "[_]");
SQL Server 日誌檔案清理
資料庫在使用過程中會發現日誌檔案越來越大,有時甚至超過了資料庫資料本身,而這些日誌資訊一直都不會使用到,這時就可以直接將過大的資料庫日誌檔案刪除掉。刪除步驟如下 1 登入 sql sever management studio 中,選擇需要處理的資料庫,右鍵 任務 分離 2 分離完成後,進入資料庫檔...
清理SQL Server日誌
use master goalter database 目標資料庫 set recovery with no wait goalter database 目標資料庫 set recovery 簡單模式 gouse 目標資料庫 godbcc shrinkfile n 目標日誌檔案邏輯名 2000,tr...
SQL Server 日誌已滿 清理日誌檔案指令碼
sql server 日誌已滿 清理日誌檔案指令碼 use master goalter database ypbxch set recovery with no wait ypbxch為需要清除日誌的資料庫名稱 goalter database ypbxch set recovery 簡單模式 y...