タグ付けされた質問 「azure-sql-database」

Azure SQL Databaseは、Microsoftのサービスとしてのリレーショナルデータベースです。このタグは、Azure VMでホストされているSQL Serverではなく、Azure SQLデータベースに関する質問用です(azure-vmを使用)。


5
SQL AzureデータベースをローカルのSQL Serverインスタンスにコピーするにはどうすればよいですか?
SQL AzureインスタンスでホストされているOLTPデータベースがあります。データベースのコピーをクラウドから取得して、ソースデータベースに影響を与えることなく、重い抽出とOLAPスタイルのクエリを実行できるようにします。 データベースのコピーをローカルSQL Serverインスタンスにプルダウンするにはどうすればよいですか?


1
物理データベースからクラウドデータベースへの移行
varchar(MAX)FILESTREAM BLOBSでのフルテキスト検索などの高度な機能を利用して、Microsoft SQL Server 2008R2で作成された物理データベースをSQL Azureに移動するとどうなりますか? どのようなアーキテクチャの変更が必要ですか?この移行にはどのような手順が含まれますか?SQL Azure Migration Wizzardは、単に自動的に移行を行う魔法のツールではありません。移行ツールで修正できず、「手動」で解決する必要がある互換性の問題は何ですか?

3
フィルター条件がクラスター化列ストアインデックスに正しく適用されない
以下の例を使用すると、述語は同じですが、上のステートメントは(正しく)0行を返し、下のステートメントは1を返します-述語が一致しない場合でも: declare @barcode nchar(22)=N'RECB012ZUKI449M1VBJZ' declare @tableId int = null declare @total decimal(10, 2) = 5.17 SELECT 1 FROM [dbo].[transaction] WITH (INDEX([IX_Transaction_TransactionID_PaymentStatus_DeviceID_DateTime_All])) WHERE Barcode = @barcode AND StatusID = 1 AND TableID = @tableID AND @total <= Total SELECT 1 FROM [dbo].[transaction] WHERE Barcode = @barcode AND StatusID = 1 AND …

1
2,135,044,521行テーブルのインデックスを最適化する
大きなテーブルでI / Oの問題があります。 一般的な統計 このテーブルには次の主な特徴があります。 環境:Azure SQLデータベース(階層はP4プレミアム(500 DTU)) 行:2,135,044,521 使用済みパーティション1,275 クラスター化およびパーティション化されたインデックス 型番 これはテーブルの実装です: CREATE TABLE [data].[DemoUnitData]( [UnitID] [bigint] NOT NULL, [Timestamp] [datetime] NOT NULL, [Value1] [decimal](18, 2) NULL, [Value2] [decimal](18, 2) NULL, [Value3] [decimal](18, 2) NULL, CONSTRAINT [PK_DemoUnitData] PRIMARY KEY CLUSTERED ( [UnitID] ASC, [Timestamp] ASC ) ) GO ALTER …

2
タイムスタンプに基づくウィンドウオフセット
ソーシャルフィードの結果をページングするために使用するクエリを書いています。コンセプトは、モバイルアプリがN個のアイテムをリクエストし、@CutoffTime以下で呼び出した開始日時を提供することです。カットオフ時間の目的は、ページングウィンドウをいつ開始するかを確立することです。行オフセットの代わりにタイムスタンプを使用している理由は、新しいソーシャルコンテンツが追加された場合でも、古い投稿を取得するときに、一貫した場所からタイムスタンプを使用できるようにするためです。 ソーシャルフィードアイテムは自分または友達からのものである可能性があるUNIONため、これら2つのグループの結果を組み合わせるためにa を使用しています。もともと私はTheQuery_CTEなしでロジックを試しました、UNIONそしてそれは遅い犬でした。 これは私がやったことです(関連するテーブルスキーマを含む): CREATE TABLE [Content].[Photo] ( [PhotoId] INT NOT NULL PRIMARY KEY IDENTITY (1, 1), [Key] UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID(), [FullResolutionUrl] NVARCHAR(255) NOT NULL, [Description] NVARCHAR(255) NULL, [Created] DATETIME2(2) NOT NULL DEFAULT SYSUTCDATETIME(), ); CREATE TABLE [Content].[UserPhotoAssociation] ( [PhotoId] INT NOT NULL, [UserId] INT NOT NULL, [ShowInSocialFeed] …

1
Azure SQLデータベースの不明な_TransactionIndexテーブル
今日気付いたのは、 "_ TransactionIndex_ {guid}"という名前のランダムなテーブルがAzure SQLデータベースにあることです。 1つの列IDがあり、8つのGUIDが含まれています。 このテーブルに関する情報が見つかりませんでした-それは何ですか?アプリケーション内のトランザクションに問題があるということですか?


3
「データベースをSQL Azureにデプロイする」タスクがない
最近SQL Server 2014 Expressを自分のワークステーションにインストールし、SQL Azureに展開しようとしています。以前、SQL Server 2012 Expressを使用する以前のワークステーションで次のことを行っています。 データベースを右クリック> [タスク]> [SQL Azureにデータベースをデプロイ] SQL Server 2014では、このオプションは完全に欠落しており、代わりに新しいオプション「データベースをWindows Azure VMにデプロイする」に置き換えられています。 SQL Azureに展開するためのオプションがない理由を理解できません。SQL Server 2014で現在個別にインストールする必要があるものはありますか?私がオンラインで読んだことから、2014年版には両方のオプションが存在するはずです。マイクロソフトはSQL Server 2014 Expressのこのオプションを削除しましたか?

2
クラスタ化されたインデックス作成は今や必須です-なぜですか?
以前は、クラスター化インデックスを(常に)エンゲージする/回避するかどうかについての議論/ディスカッションは決定的ではありませんでした。 まあ、私はそれらが時々適切な特定の目的とコンテキストで使用されることを理解しました。 SQL Azureデータベースのクラスター化インデックスの要件: 「SQL Azureはクラスター化インデックスのないテーブルをサポートしていません。テーブルにはクラスター化インデックスが必要です。クラスター化制約なしでテーブルを作成する場合、テーブルで挿入操作を許可する前にクラスター化インデックスを作成する必要があります。」 以前の結論、根拠、および説明には適合しません。 例外なくクラスタ化インデックスのユビキタス性を厳密に課すという、これまでの説明から逃した理論的根拠は何ですか?

2
SQL Server:すべての列を含むインデックスをカバーしていますか?
私たちのチームは、アプリケーションと関連するデータベースを継承しています。以前の開発者は、すべてのテーブルのすべてのインデックスにINCLUDE句があり、それ以外の場合はキーの一部ではないすべての列を常に追加するというルールを適用しているようです。これらのテーブルには、平均して2〜5個のインデックスまたは一意の制約と外部キーがあります。 アクセスはデフォルトで(常にではないが)すべての列を取得するORMを介して行われるため、データベースでスローされるクエリに関係なく、SELECTのパフォーマンスを向上させることを目的としています。これの副作用は、ストレージ要件の増加(おそらく大幅に増加する)とINSERT / UPDATE / DELETEの追加のオーバーヘッド時間であると予想されます。 問題は、これは賢明な戦略ですか?私たちのチームにはSQL Serverの履歴がありますが、内部の動作について専門家であると考えるメンバーはいません(ただし、この戦略が最適だった場合、今のところデフォルトではないのではないかという質問が出されました)。他にどのような副作用(データベースサーバーのCPU /メモリ/ TempDBの使用など)が予想されますか、または上記の仮定の一部が正しくありませんか? さらに、アプリケーションは、オンプレミスのSQL Server(2012年以降のバージョン)とAzure SQLの両方にインストールできます-この結果として、2つの違い、またはAzureへの追加の副作用に備えておく必要があります。アプローチ?

1
SQL Server 2017およびAzure SQL DBでの既定の分離レベルの検索
トランザクションと並行性に関する本を読んでいます。1つの段落では、次のように述べられています。 オンプレミスのSQL Serverインスタンスでは、デフォルトの分離レベルはロックに基づいて読み取りコミットされています そして次の文は: SQLデータベースのデフォルトは読み取りです-行のバージョン管理に基づいてコミットされたスナップショット 私の質問は、これらの2つの文で「オンプレミスSQL Serverインスタンス」と「SQLデータベース」の違いは何ですか? デフォルトの分離レベルとは何ですか?どのようにして見つけることができますか?デフォルトの分離レベルを確認するための特別なクエリはありますか?

1
Azure SQL(SQL Server)データベースが一度に一定期間データIOで過負荷になるのはなぜですか?[閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、データベース管理者のスタック交換のトピックになるようにします。 6か月前に閉鎖。 S2エディション(50 DTU)でAzure SQLデータベースを実行しています。サーバーの通常の使用では、通常、約10%のDTUがハングします。ただし、このサーバーは定期的にデータベースのDTU使用率を85〜90%に数時間送信する状態になります。その後、突然、通常の10%の使用量に戻ります。 この過負荷状態の間、アプリケーションからのサーバーに対するクエリは、まだ高速に動作しているようです。 サーバーをS2 =>何からでもスケーリングできます(たとえば、S3)=> S2。サーバーがハングしている状態をすべてクリアするように見えます。しかし、数時間後、同じ過負荷状態のサイクルが繰り返されます。私が気付いたもう1つの奇妙なことは、このサーバーをS3プラン(100 DTU)で24時間年中無休で実行した場合、この動作は観察されなかったことです。データベースをS2プラン(50 DTU)にダウンスケールした場合にのみ発生するようです。S3プランでは、私は常に5-10%DTU使用率で座っています。明らかに十分に活用されていません。 不正なクエリを探してAzure SQLクエリレポートをチェックインしましたが、実際に異常なものは見られず、期待どおりにリソースを使用してクエリが表示されます。 ここでわかるように、使用法はすべてData IOからのものです。ここでパフォーマンスレポートを変更して、MAXごとの上位のデータIOクエリを表示すると、次のようになります。 これらの長期にわたる要求を見ると、統計の更新が指摘されているようです。私のアプリケーションから実際には何も実行されていません。たとえば、クエリ16302には次のように表示されます。 SELECT StatMan([SC0], [SC1], [SC2], [SB0000]) FROM (SELECT TOP 100 PERCENT [SC0], [SC1], [SC2], step_direction([SC0]) over (order by NULL) AS [SB0000] FROM (SELECT [UserId] AS [SC0], [OrganizationId] AS [SC1], [Id] AS [SC2] FROM …

2
このクエリ/実行プランからCPU使用率が高くなっている原因は何ですか?
.NET Core APIアプリを強化するAzure SQLデータベースがあります。Azure Portalでパフォーマンス概要レポートを参照すると、データベースサーバーの負荷(DTU使用量)の大部分がCPUからのものであり、具体的には1つのクエリが原因であることがわかります。 ご覧のように、クエリ3780は、サーバーのほぼすべてのCPU使用率の原因です。 クエリ3780(下記参照)は基本的にアプリケーションの核心であり、ユーザーから頻繁に呼び出されるため、これは多少意味があります。また、必要な適切なデータセットを取得するために必要な多くの結合を伴う、かなり複雑なクエリでもあります。クエリは、次のようなsprocから取得されます。 -- @UserId UNIQUEIDENTIFIER SELECT C.[Id], C.[UserId], C.[OrganizationId], C.[Type], C.[Data], C.[Attachments], C.[CreationDate], C.[RevisionDate], CASE WHEN @UserId IS NULL OR C.[Favorites] IS NULL OR JSON_VALUE(C.[Favorites], CONCAT('$."', @UserId, '"')) IS NULL THEN 0 ELSE 1 END [Favorite], CASE WHEN @UserId IS NULL OR C.[Folders] IS NULL …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.