タグ付けされた質問 「sql-server-2005」

SQL Server 2005(メジャービルドバージョン9.00.xxxx)。sql-serverにもタグを付けてください。

1
列でALTER TABLEを実行すると、列がNOT NULLからNULLになるのはなぜですか?
SQL Serverデータベースを一括更新しています。すべてのnumeric(38,0)列をint (はい、SQL ServerスクリプトはOracleスクリプトから作成されました)に変更しています。SMOとC#(私はswエンジニアです)を使用して、SQL Server Management Studioのように本当に素晴らしいスクリプトを生成することができました。1つの特定の問題を除いて、すべて非常にうまく機能します。 ほんの一握りのテーブルのために、私がALTER TABLE [myTable] ALTER COLUMN [columnA] INTそれを呼び出すと、列もから変更することにしますNOT NULL to NULL。もちろん、それらの特定の列にあるほとんどのテーブルの主キーを再生成する必要があるため、これは大きな問題です。 明らかに、私はSMOを使用して、どの列が主キーであるかを見つけ、データ型の更新中または更新中にそれらを強制的にNOT NULLにする多くのオプションを持っていますが、これが何が原因であるかについては本当に興味があります。

2
このwhere句を結合に置き換えるにはどうすればよいですか?
通常、次のようなSQLを使用している場合: select * from employees where epmloyeeTypeId in (select id from type where name = 'emp') 私whereはこれで置き換えます: select e.* from employees e inner join type t on t.id=e.epmloyeeTypeId and t.name = 'emp' それが句not inではなく(以下のように)である場合、逆で同じことをすることは可能inですか? INSERT into Subscriptions(ProjectId, RecordTypeCID, NTID, Active, Added, LastUpdate, UpdateBy) SELECT @ProjectId, RecordTypeCID, @NTID, 1, GETDATE(), GETDATE(), …

1
フルプランキャッシュの動作
SQL Server 2005では、プランキャッシュがいっぱいになるとどうなりますか?私はいくつかの調査を行いましたが、収集された小片から、キャッシュされたプランには、その重み、つまりコンパイルのコストに、キャッシュされてから実行された回数を掛けた「年齢」が与えられているようです。時間が経過すると、この経過時間は減少して0になり、「経過時間」と見なされ、必要に応じてフラッシュの候補になります。プランのキャッシュがいっぱいになると、期限切れのプランがキャッシュからフラッシュされます。 このシナリオを複雑にするために舞台裏で起こっていることは他にありますか? おかげで、 マット

8
開発ボックスに対する開発者へのSA特権の付与
私たちの激しい抗議にもかかわらず、私たちの経営陣は、開発チームに開発サーバーに対する「sa」権限を付与する必要があると決定しました。キャッチは、私たち、DBサポートグループがまだこのボックスを維持する責任があるということです。 私たちは今、これらの強化された特権を持つ開発チームのために、すべきこととすべきでないことのリストを思いつくことを任されています。 このリストに追加してください: DO-開発中のDBにアクティビティを制限する しない - SQLインスタンスの設定を変更する sp_configure(cmdshellを含む) セキュリティ設定の追加/変更/削除 データベースオブジェクトの追加/変更/削除 バックアップデバイスやリンクサーバーなどのサーバーオブジェクトの追加/変更/削除 複製の追加/変更/削除 メンテナンスプランの追加/変更/削除 チームに属していないデータベースに触れる これらのユーザーの活動を追跡するために利用できるツールへのポインタは大歓迎です。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.