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

MicrosoftのSQL Serverの2008バージョンに固有の質問には、このタグを使用します。


3
クラスター化インデックスは一意である必要がありますか?
クラスタ化インデックスが一意でない場合はどうなりますか?挿入された行が何らかの「オーバーフロー」ページに流れるため、パフォーマンスが低下する可能性がありますか? それは「作られた」ユニークなものですか?もしそうなら、どのように?それをユニークにするための最良の方法は何ですか? 現在、クラスター化インデックスを使用してテーブルを論理部分に分割しているので質問していますが、パフォーマンスはまあまあで、最近、クラスター化インデックスを一意にするようアドバイスを受けました。それについてセカンドオピニオンをお願いします。 ありがとう!

2
エラー0xc0202049:データフロータスク1:読み取り専用列への挿入に失敗しました
SQL Server2008のインポートおよびエクスポートウィザードを使用しています。データベースをインポートする必要があります。SQLサーバーのインポート/エクスポートウィザードを開き、次のアクションを実行しました。- 宛先には「SQLサーバーネイティブクライアント10」を選択しました。 次に、1つ以上のテーブルまたはビューからデータのコピーを選択しました。 SSISはすぐに実行されます しかし、私は次のエラーが発生しました、 動作停止... データフロータスクの初期化(成功) 接続の初期化(成功) SQLコマンドの設定(成功) ソース接続の設定(成功) 宛先接続の設定(成功) 検証中(エラー) メッセージエラー0xc0202049:データフロータスク1:読み取り専用列「ActionID」への挿入に失敗しました。(SQL Serverインポートおよびエクスポートウィザード) エラー0xc0202045:データフロータスク1:列メタデータの検証に失敗しました。(SQL Serverインポートおよびエクスポートウィザード) エラー0xc004706b:データフロータスク1:「コンポーネント「Destination-AuditActions」(22)」は検証に失敗し、検証ステータス「VS_ISBROKEN」を返しました。(SQL Serverインポートおよびエクスポートウィザード) ID列とタイムスタンプ列をインポートできないようですが、これらの値を強制的にインポートするにはどうすればよいですか?

6
T-SQLのPIVOT関数を理解する
私はSQLにとても慣れていません。 私はこのようなテーブルを持っています: ID | TeamID | UserID | ElementID | PhaseID | Effort ----------------------------------------------------- 1 | 1 | 1 | 3 | 5 | 6.74 2 | 1 | 1 | 3 | 6 | 8.25 3 | 1 | 1 | 4 | 1 | 2.23 4 | 1 …


8
SQL Server2008の空の文字列とスペース
今朝少し変なことに出くわし、解説のために提出しようと思いました。 次のSQLクエリがSQL2008に対して実行されたときに「等しい」と出力される理由を誰かが説明できますか。db互換性レベルは100に設定されています。 if '' = ' ' print 'equal' else print 'not equal' そしてこれは0を返します: select (LEN(' ')) スペースを自動トリミングしているようです。これが以前のバージョンのSQLServerに当てはまるかどうかはわかりません。また、テストすることすらできなくなりました。 本番クエリが誤った結果を返していたため、これに遭遇しました。この動作が文書化されている場所はどこにも見つかりません。 誰かがこれに関する情報を持っていますか?

10
TSQL:現地時間をUTCに変換する方法は?(SQL Server 2008)
さまざまなタイムゾーンと夏時間の設定からのグローバル時間データを処理する必要があるアプリケーションを扱っています。アイデアは、すべてをUTC形式で内部的に保存し、ローカライズされたユーザーインターフェイスに対してのみ前後に変換することです。SQL Serverは、時間、国、およびタイムゾーンを指定して翻訳を処理するためのメカニズムを提供しますか? これは一般的な問題であるに違いないので、グーグルが使用可能なものを何も表示しないことに驚いています。 ポインタはありますか?

14
エラー-SqlDateTimeオーバーフロー。1/1/1753 12:00:00 AMから12/31/999911:59:59PMの間にある必要があります
私は自分が書いたこのコードを使用してきましたが、この最も不明確な方法で機能しています。DateTimeの2つの列を含む行をデータベースに挿入したいと思います。 myrow.ApprovalDate = DateTime.Now myrow.ProposedDate = DateTime.Now それでも、データベースを更新すると、次のエラーが発生します。 SqlDateTimeオーバーフロー。1/1/1753 12:00:00 AMから12/31/999911:59:59PMの間にある必要があります。 挿入された値をデータベースからコピーして、更新されるオブジェクトにハードコーディングしてみました。 // I copied this value from the DB myrow.ApprovalDate = Convert.ToDateTime("2008-12-24 00:00:00.000"); それでも同じエラーですが、奇妙な部分は、上記のトリックがDBへの最初の挿入では機能したが、それ以降は失敗したことです。何が起こっているのかアイデアはありますか?

12
SQLServerクエリで月の名前を返す
をSQL Server 2008使用して、ビューの作成に使用されるクエリがあり、整数の代わりに月の名前を表示しようとしています。 私のデータベースでは、datetimeはと呼ばれる列にありますOrderDateTime。日付を返すクエリの行は次のとおりです。 DATENAME(yyyy, S0.OrderDateTime) AS OrderYear, DATEPART(MONTH, S0.OrderDateTime) AS OrderMonth これにより、年の列と月の列が整数として返されます。月の名前を返したい(Jan, Feb, etc)。私はもう試した: CONVERT(varchar(3), DATEPART(MONTH, S0.OrderDateTime) AS OrderMonth 私が得るように、これは明らかに間違っています 'AS'の近くの構文が正しくありません メッセージ。クエリの適切な構文は何ですか?

7
どこでもvarchar(max)?
すべてのSQLServer 2008文字列列をvarchar(max)にすることに問題はありますか?私の許容文字列サイズはアプリケーションによって管理されます。データベースは私が与えたものを永続化する必要があります。実際に入力されるデータのサイズに関係なく、SQL Server 2008ですべての文字列列がvarchar(max)型であると宣言することで、パフォーマンスが低下しますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.