Pages

Subscribe:

Ads 468x60px

2016年10月25日 星期二

SQL Server 2008 不允許儲存變更

資料來源

使用SQL SERVER 2008 當直接使用SQL Server Management Studio修改Table 欄位格式或是其他DDL定義時,就會引發跳出下列錯誤訊息
不允許儲存變更。 您所做的變更會需要下列資料表卸除並重新建立。 您有做任何變更一個資料表,無法重新建立或啟用選項會防止儲存變更,需要重新建立資料表。
SQL 不允許變更Error Message 



這是因為SQL Server 2008預設不允許由圖形介面來變更資料表格式  ,下列行為就會引發上列訊息
1.變更資料行 允許 Null 設定。
2.重新排序資料表中的資料行。
3.變更資料行資料型別。
4.加入新的資料行。



SQL Server 2008會預設不允許由圖形介面來變更資料表格式,主要是因為怕手誤與大量的資料格式異動造成資料鎖定或資料遺失,這是重要的保護,但是卻造成麻煩
如果要取消此預設設定,可以依下列步驟:
開啟SQL Server Management Studio-->工具-->選項-->Designers(設計師)-->資料表和資料庫設計工具-->防止儲存需要資料表重建的變更  
      -->取消勾選 即可!如下圖:
預設不允許直接變更資料表
  

但是MSDN上有附註說明停用這選項造成的影響如果您停用這個選項,會不警告您儲存資料表時,已變更資料表的中繼資料結構。在這種情況下儲存資料表時,可能會發生資料遺失。
所以如果可以還是建議以T-SQL命令,去變更資料表。

2016年10月20日 星期四

遜砲賴的爆肝筆記: [DB] 在MS SQL Server 2012 安裝Northwind

遜砲賴的爆肝筆記: [DB] 在MS SQL Server 2012 安裝Northwind: 最近打算改寫部落格的SQL相關文章 因為資安的關係,沒辦法用公司的資料庫為範例 所以範例資料庫都是自己亂建的 毫無系統,沒有組織 所以想用微軟提供的範例資料庫Northwind來當SQL文章的範本 一來可以大家可以從微軟官網上下載安裝 下載位置 有一個共通...

我亦非我 - I am not me: SQL Server 2012 範例資料庫已發行

我亦非我 - I am not me: SQL Server 2012 範例資料庫已發行: SQL Server 早期的版本(例如:SQL Server 2000),以預設模式安裝時,會順便安裝範例資料庫:北風貿易與出版社(其資料庫名稱分別為 Northwind 與 Pubs )。 ▼ NorthWind 資料庫圖表 但是在 SQL Server 2...

豬腦爸 D NOW BA: 安裝 SQL Server 2008 的範例資料庫-AdventureWorks

豬腦爸 D NOW BA: 安裝 SQL Server 2008 的範例資料庫-AdventureWorks: 請注意:是 SQL Server 2008 不是 SQL Server 2008 R2 因為要移轉一些資料,所以範例資料庫要重裝 沒想到事過境遷,人事全非啊 SQL Server 2000 用的範例還是NorthWind北風資料庫,還裝便便等你用 ...

德瑞克:SQL Server 學習筆記: 下載 Northwind 和 pubs 範例資料庫

德瑞克:SQL Server 學習筆記: 下載 Northwind 和 pubs 範例資料庫: 示範環境: SQL Server 2012 x64 中文企業版本 -- 01_下載 Northwind 和 pubs 範例資料庫 -- 02_正在下載中 -- 03_檢視下載的檔案 使用檔案總管執行此檔案:SQL2000SampleDb.msi。 ...

2016年10月14日 星期五

1010: [SQL Server] 解決log檔(ldf file)過度膨脹的實戰經驗

1010: [SQL Server] 解決log檔(ldf file)過度膨脹的實戰經驗: 背景: 公司最近把一套每天有相對大量交易 (之前公司更大很多很多倍) 的系統轉移到SQL Server去,不到一個月交易檔(ldf)已經貼近數據檔(mdf)的size,真的好可怕啊。 身為SQL Server的DBA當然  要替月行道,警惡懲奸  不能讓這種情況繼續下去...

2016年10月11日 星期二

德瑞克:SQL Server 學習筆記: 縮小 壓縮 交易記錄檔 (Shrink Transaction Log);以使用 SQL Se...

德瑞克:SQL Server 學習筆記: 縮小 壓縮 交易記錄檔 (Shrink Transaction Log);以使用 SQL Se...: 若您的資料庫因故造成交易記錄檔(Transaction Log,*.ldf)遠大於,資料檔案(例如:*.mdf)時,請參考下圖所示: 資料檔案才 10 MB,但是交易記錄檔卻已經成長為 1 GB。 那要如何 縮小 壓縮 交易記錄檔呢? 本文以使用 SQL S...

SQL LDF檔案過大解決方法! 幫LDF檔減肥很簡單!

資料來源

在某個機會裡拿到朋友給的sql備份檔(.bak),還原後發現我電腦硬碟空間突然少了60g多,後來找到原因是sql備份檔的ldf檔案肥大所造成!! 實在太可恥了!一個ldf檔要佔掉我60g多的碟硬空間!明明它就可以被減肥的!


請依下列指令進行, 你可以把下列指令全都存成一個 .sql檔案備用。


1.把資料庫改成 simple模式.
從 SQL Server Management Studio 請在你的資料庫上用滑鼠點右鍵 => 最下方看到 "屬性" => 然後點到 "選項" 
接著右方下拉式選單把 "復原"模式 改選成 "簡單" 模式。




2.打開指令視窗, 輸入以下指令: (你可copy貼上,請別忘記改資料庫名稱)
USE 資料庫名稱 GO 
DBCC SHRINKFILE('資料庫名稱_Log',2)

上面的指令紅色的文字請改成你要減肥的資料庫名稱。然後run這個指令。




3.接著回到第一步驟,把剛才改成 "簡單" 模式改回 "完整"模式

完成!

你可以看到你的LDF檔減肥成功!
(若你在sql server裡有設定系統定時備份,建議你設定每隔一段時間壓縮資料庫,避免LDF檔再度肥大。)


其實......... 我很懶, 所以我教你一個懶人方法,十秒鏡就可幫LDF減肥~

請copy以下程式碼, [按新增查詢] 貼到指令區,改好資料庫檔名,Run它!!
不到十秒就能減肥成功!





程式碼copy區 (不包含等於符號)
==============================================
ALTER DATABASE 資料庫名稱 SET RECOVERY simple
use 資料庫名稱 go dbcc shrinkfile('資料庫名稱_log',2) ALTER DATABASE 資料庫名稱 SET RECOVERY FULL
=============================================

以上~~