程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> SQL Server數據庫重命名、數據導出的方法說明

SQL Server數據庫重命名、數據導出的方法說明

編輯:更多數據庫知識

第一個問題是重命名數據庫問題:在企業管理器中是無法直接對數據庫重命名的,只能在查詢分析器中操作

復制代碼 代碼如下:
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
  -- 上面創建一個從存儲過程   
  -- exec killspid 'Test1' -- 調用存儲過程關閉連接
  -- exec sp_renamedb 'Test1','Test2' -- 重命名數據庫

用以上方法可以重命名數據庫,當然還有一種方法是在企業管理器中選擇數據庫->所有任務->分離數據庫->清除連接,然後直接直接調用

復制代碼 代碼如下:
exec sp_renamedb 'Test1','Test2'


第二個問題是更改數據庫所有者問題:在查詢分析器中選擇要更改的數據庫,執行如下代碼即可newowner為新的所有者

復制代碼 代碼如下:
exec sp_MSForEachTable 'sp_changeobjectowner ''?'', ''newowner'''


第三個問題是數據表數據的導入導出的問題:人們在導入導出數據的時候常會導致數據庫對象的丟失,例如主鍵、標識、默認值等,解決的方法是在制定表復制或查詢那一步選擇第三項
在SQL Server數據庫之間復制對象和數據
選擇下一步,如果你只是要操作一部分表而不是整個數據庫的話,取消復制所有對象這個選項,點擊後面的選擇打開選擇對象對話框,在其中選擇要操作的數據庫對象即可,點擊下一步,操作完成。

第四個問題是替換字段內容的問題:如果你的數據庫被人注入病毒代碼了,又沒有備份,那就只有自己動手替換掉了

復制代碼 代碼如下:
update dunktopic set 字段 =replace(字段,'被替換的內容','替換內容');


第五個問題是數據庫中表的所有者問題:在某些情況下,如果你恢復網站數據庫後,訪問網站的時候出現80040e21錯誤,
錯誤 '80040e21' ODBC 驅動程序不支持所需的屬性
那麼有可能是因為數據庫所有者問題導致的,解決辦法是使用問題一中的方法更改數據庫的所有者為dbo或者其它的用戶即可。
第六個問題是數據還原問題,數據庫還原之後,訪問網站會莫名其妙的出現內部服務器500錯誤,其實是因為因為沒有給數據庫用戶分配該數據庫權限的問題,特征就是該數據庫用戶的登錄沒有了。解決辦法是:刪除沒有登錄名的這個用戶,在企業管理器的安全性設置中,選擇剛才那個沒有登錄名的用戶,給它分配剛才還原的數據的datawrite和dataread權限。為安全起見,建議不要分配owner權限。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved