2012年4月17日 星期二

SQL SERVER VIEW DEPENDENT

利用以下的 SQL 可以查出 那些 view depend on Table 

select distinct 'EXEC sp_refreshview ''' + name + ''''
    from sys.objects AS so
     inner join sys.sql_expression_dependencies AS sed
        on so.object_id = sed.referencing_id
     where so.type = 'V'
     and sed.referenced_id = OBJECT_ID ( 'Foo')

如果未以 SCHEMABINDING 子句來建立檢視
當影響檢視定義的檢視之下的物件有變更時
就應該執行 sp_refreshview
否則,在查詢檢視時,
可能會產生非預期的結果

或是利用 SCHEMABINDING 將 VIEW 與 對應的物件緊緊黏起來
注意: 需要加上表格來源的敘述為 dbo.foo

alter view v_view3 with schemabinding as
select ID , name , x from dbo.foo

當要移去 x column 時
alter table foo drop column x

系統就會產生對應的錯誤警告

訊息 5074 ,層級 16 ,狀態 1 ,行 1
物件 'v_view3' 與 資料行 'x' 相依 。
訊息 4922 ,層級 16 ,狀態 9 ,行 1
ALTER TABLE DROP COLUMN x 失敗, 因為有一個或多個物件存取這個資料行 。

2012年4月15日 星期日

Windows 7 與 IIS7 的設定

WINDOWS7預設是不安裝IIS7的

點選控制台->程式集

點選開啟或關閉Windows功能

 

點選Internet Information Services

 預設安裝IIS7是不會安裝ASP、ASP.Net等等

所以照下圖把你所需的網頁程式開啟

至此應該就安裝好了, 如果還有問題的話可以試試看,將

C:\windows\ServiceProfiles\NetworkService\AppData\Local\Temp

權限 加一個 Autheticated Users 給他完全控制的權限

要注意一下的,該目錄為一隱藏目錄,記得要先取消隱藏目錄

 

啟動 IIS 執行 Deploy 後的 Web 應用程式會出現的一個怪問題

HTTP 錯誤 500.21 - Internal Server Error
處理常式 "PageHandlerFactory-Integrated" 的模組清單中有錯誤的模組 "ManagedPipelineHandler"


在網路上找尋相關的問題與原因,發現是:
系統是Windows 7 + IIS 7.5的時候。如果先安裝了.NetFramework 4.0之後才去安裝IIS會產生的錯誤。

解決辦法:
開始=>所有程式=>附屬應用程式=>命令提示字元=>點滑鼠右鍵”以系統管理員身份執行”
在視窗中輸入=>%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i
重新註冊FrameWork 4,安裝完成後即可正常使用。