SQL Server數(shù)據(jù)庫重命名、數(shù)據(jù)導出的方法說明
發(fā)布日期:2021-12-30 18:34 | 文章來源:gibhub
第一個問題是重命名數(shù)據(jù)庫問題:在企業(yè)管理器中是無法直接對數(shù)據(jù)庫重命名的,只能在查詢分析器中操作
復制代碼 代碼如下:
create proc killspid (@dbname varchar(20))
as
begin
declare @sql nvarchar(500),@temp varchar(1000)
declare @spid int
set @sql='declare getspid cursor for
select spid from sysprocesses where dbid=db_id('''+@dbname+''')'
exec (@sql)
open getspid
fetch next from getspid into @spid
while @@fetch_status =0
begin
set @temp='kill'+rtrim(@spid)
exec(@temp)
fetch next from getspid into @spid
end
close getspid
deallocate getspid
end
-- 上面創(chuàng)建一個從存儲過程
-- exec killspid 'Test1' -- 調用存儲過程關閉連接
-- exec sp_renamedb 'Test1','Test2' -- 重命名數(shù)據(jù)庫
用以上方法可以重命名數(shù)據(jù)庫,當然還有一種方法是在企業(yè)管理器中選擇數(shù)據(jù)庫->所有任務->分離數(shù)據(jù)庫->清除連接,然后直接直接調用
復制代碼 代碼如下:
exec sp_renamedb 'Test1','Test2'
復制代碼 代碼如下:
exec sp_MSForEachTable 'sp_changeobjectowner ''?'', ''newowner'''
在SQL Server數(shù)據(jù)庫之間復制對象和數(shù)據(jù)
選擇下一步,如果你只是要操作一部分表而不是整個數(shù)據(jù)庫的話,取消復制所有對象這個選項,點擊后面的選擇打開選擇對象對話框,在其中選擇要操作的數(shù)據(jù)庫對象即可,點擊下一步,操作完成。 第四個問題是替換字段內容的問題:如果你的數(shù)據(jù)庫被人注入病毒代碼了,又沒有備份,那就只有自己動手替換掉了
復制代碼 代碼如下:
update dunktopic set 字段 =replace(字段,'被替換的內容','替換內容');
錯誤 '80040e21' ODBC 驅動程序不支持所需的屬性
那么有可能是因為數(shù)據(jù)庫所有者問題導致的,解決辦法是使用問題一中的方法更改數(shù)據(jù)庫的所有者為dbo或者其它的用戶即可。
第六個問題是數(shù)據(jù)還原問題,數(shù)據(jù)庫還原之后,訪問網(wǎng)站會莫名其妙的出現(xiàn)內部服務器500錯誤,其實是因為因為沒有給數(shù)據(jù)庫用戶分配該數(shù)據(jù)庫權限的問題,特征就是該數(shù)據(jù)庫用戶的登錄沒有了。解決辦法是:刪除沒有登錄名的這個用戶,在企業(yè)管理器的安全性設置中,選擇剛才那個沒有登錄名的用戶,給它分配剛才還原的數(shù)據(jù)的datawrite和dataread權限。為安全起見,建議不要分配owner權限。
版權聲明:本站文章來源標注為YINGSOO的內容版權均為本站所有,歡迎引用、轉載,請保持原文完整并注明來源及原文鏈接。禁止復制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務器上建立鏡像,否則將依法追究法律責任。本站部分內容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內容涉嫌侵權,請聯(lián)系alex-e#qq.com處理。
相關文章