データベース管理者

データベースのスキルを向上させ、コミュニティの他の人から学びたいデータベースの専門家向けのQ&A

6
セッションが強制終了状態のため、実行を続行できません。クラスター化インデックスの構築中
クラスタ化インデックスを作成しようとすると、次のエラーが発生します ステートメントは終了されました。 メッセージ596、レベル21、状態1、行0 セッションが強制終了状態のため、実行を続行できません。 メッセージ0、レベル20、状態0、行0 現在のコマンドで重大なエラーが発生しました。結果がある場合は、破棄する必要があります。 インデックスは次のとおりです。 BEGIN TRANSACTION SET QUOTED_IDENTIFIER ON SET ARITHABORT ON SET NUMERIC_ROUNDABORT OFF SET CONCAT_NULL_YIELDS_NULL ON SET ANSI_NULLS ON SET ANSI_PADDING ON SET ANSI_WARNINGS ON COMMIT BEGIN TRANSACTION GO CREATE CLUSTERED INDEX IX_CO_DES_INPUT ON dbo.CO_DES_INPUT(DESIGN_ID, PRODUCT_INPUT_NUM, INPUT_NAME) WITH(STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = …

2
列フィールドのいずれかがnullであるテーブル行から削除する
どの列がnullであるかを明示的に指定せずに、列フィールドのいずれかがnullであるテーブルから行を削除する方法はありますか? 私はpostgreSQLを使用しています。 これが私の関係スキーマです: Column | Type | Modifiers --------------+---------+---------------------------------------------------------------------- id | integer | not null default nextval('aurostat.visitor_center_id_seq'::regclass) date | date | persons | integer | two_wheelers | integer | cars | integer | vans | integer | buses | integer | autos | integer | ありがとう
11 postgresql 



1
PL / Pythonが信頼できないのはなぜですか?
ドキュメントによると: PL / Pythonは「信頼されていない」言語としてのみ利用可能です。つまり、ユーザーが実行できることを制限する方法が提供されていないため、plpythonuという名前が付けられます。セキュアな実行メカニズムがPythonで開発された場合、信頼できるバリアントplpythonが将来的に利用可能になる可能性があります。 Python用の安全な実行メカニズムを開発するのが難しいのに、Perlなどの他の言語用ではないのはなぜですか?

3
WITH CTEとWITH CTE(<column_names>)の違いは何ですか?
MSDNの共通テーブル式の使用に示すように、CTEを次のように定義できます。 WITH expression_name [ ( column_name [,...n] ) ] AS ( CTE_query_definition ) そしてそれを次のように使用します: SELECT &lt;column_list&gt; FROM expression_name; 次の2つのCTEがあるとします with cte1 as( select name from Table1 ) with cte2(name) as( select name from Table1 ) クエリは、内部クエリが同じであるため、両方のCTEに対して同じ結果を出力します。これら2つの違いは、cte2の(name)宣言で列名()が定義されていることだけです。 両方のCTEを実行しても、実行計画に違いはありません。 私は知りたいだけです: CTE定義で列名を指定しない場合、どのような違いがありますか? CTEの作成時に列名を指定する必要がある/すべきではないのはなぜですか? 万が一クエリ実行プランに影響はありますか?(私が見た限りでは、何の違いもありません。)

6
MS SQL Serverで混乱したレプリケーションを修正する方法
バックアップからデータベースを復元しました。データベースはレプリケーションを使用して別のサーバーに公開します。データベースを復元するとレプリケーションが壊れると想定して、レプリケーションを削除して再作成しようとしました(ゼロから再作成するスクリプトがあります)。私が何をしたか正確にはわかりませんが、今は完全にめちゃくちゃな状態にあり、修正できません。 最初に、(パブリッシャーサーバー上の)サブスクリプションを削除しようとします。 EXEC sp_dropsubscription @publication = 'PublicationName', @article = N'all', @subscriber = 'SubscriberServerName' これは動作するようです。SELECT * FROM syssubscriptions結果は表示されません。サブスクライバーサーバーでSSMS&gt; {SubscriberServer}&gt;レプリケーション&gt;ローカルサブスクリプション-サブスクリプションがありません。 それで、私は出版物を削除しようとします。SSMS&gt; {サーバー}&gt;レプリケーション&gt;ローカルパブリケーション&gt; {PublicationName}&gt;削除。これにより、次のエラーメッセージが表示されます。 Could not delete publication 'PublicationName'. Could not drop article. A subscription exists on it. Changed database context to 'DatabaseName'. (Microsoft SQL Server, Error: 14046) OK、それで私は記事を落とそうとします: EXEC sp_droparticle @publication = …

3
複数のバリアント/属性を持つ製品のスキーマ設計?
MySQLを使用しています。このアイデアは、異なるコンセプトのshopifyに似ているため、ユーザーは複数のタイプのバリアントと属性を持つ独自の製品を追加します。 私が行ったすべての調査から、これは私にとって最も可能性の高い解決策のようであり、次のスキーマに何か問題があるかどうか疑問に思っています。 ありがとうございました Table: products ------------------------------ | ID | ProductName | |----------------------------| | 1 | Leather Wallet Case | | 2 | Jeans | | 3 | Power Bank | Table: products_variants ------------------------------- | ID | ProductId | ParentId | Variant | VariantName | SKU | StockTotal | WholeSalePrice | …

2
列の数値と整数-サイズとパフォーマンス
PostgreSQLテーブルを使用するアプリケーションがあります。テーブルは非常に大きく(数十億行)、整数の列があります。 integerは最大6桁、つまり0〜999,999で、負の数は使用できません。 に変えることを考えましたnumeric(6,0)。 これは良い考えでしょうか?うnumeric(6,0)少ないバイトを取りますか?パフォーマンスはどうですか(このテーブルは頻繁にクエリされます)?
11 postgresql 

4
複数の異なる型である可能性のある値を格納する適切な方法
私が持っている回答のテーブルと質問表を。 回答のテーブルには、値を持っていますが、問題によっては、この値は以下のようになりbit、nvarcharまたはnumber(今のところ)。質問は、その意図した回答値の型がどうあるべきかという概念を持っています。 少なくとも数値を比較する必要があるため、これらのAnswer値をどこかで解析することが重要です。 もう少しコンテキストについては、質問と潜在的な回答(通常、テキストボックスタイプの入力に許可されているデータタイプ)は、ソートの調査で一部のユーザーによって提供されます。その後、指定された他のユーザーが回答を提供します。 私が検討したいくつかのオプションは次のとおりです。 A.目的のタイプに応じて異なる方法で解析されるXMLまたは文字列(質問で追跡されます) B. Answerテーブルを参照する(またはAnswerテーブルによって参照される)3つの個別のテーブル。意図されたタイプに基づいて結合されます。この場合、各質問の回答が1つだけになるように制約を設定する最善の方法、またはそれをアプリケーションに任せる必要があるかどうかはわかりません。 C.目的のタイプに基づいて取得できるAnswerテーブルの3つの個別の列。 私はこれらのアプローチの長所と短所、または私が考慮していなかった代替のアプローチについていくつかの情報を得ていただければ幸いです。

3
VS DBプロジェクトとしてインポートした後の「ユーザーへの未解決の参照」
既存のSQL Server 2008r2運用データベースをVS 2013データベースプロジェクトにインポートしました。 私は今の線に沿っていくつかのエラーを取得します Error SQL71501: User: [mydbuser] has an unresolved reference to Login [mydbuser]. ユーザーを管理するためにVS DBプロジェクトは本当に必要ありませんが、ユーザーがそこにいない場合、展開時にそれらを削除しようとするのではないかと心配しています。 ファイル自体は次のように生成されます CREATE USER [mydbuser] FOR LOGIN [mydbuser]; または CREATE USER [mydomainuser] FOR LOGIN [MYDOMAIN\mydomainuser]; エラーマーカーは、それがログイン専用であることを示しています。これはシステムレベルのオブジェクトなので、dbプロジェクトのスコープ外であることは理解できます。 すべてを次のように変更することが好ましいですか? CREATE USER [mydbuser] WITHOUT LOGIN; またはCREATE LOGIN、各ファイルの先頭に句を追加しますか? ログイン参照を削除する方が簡単で、ユーザーを完全に削除する方が簡単です。 ツールが意図したとおりに使用されていることを確認したい。それらを本番環境に再公開する際に問題はありますか?プロジェクトを介してユーザー/ログインを追加する適切な手順は何ですか?


1
MySQLの行サイズエラー
MacbookでMySQLサーバーを実行しています(テスト用)。バージョンはHomebrewの5.6.20です。「行サイズが大きすぎます」というエラーが発生し始めましたが、このテストケースまで減らすことができました。テーブル: mysql&gt; describe test; +-------+----------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+----------+------+-----+---------+----------------+ | id | int(11) | NO | PRI | NULL | auto_increment | | stuff | longtext | YES | | NULL | | +-------+----------+------+-----+---------+----------------+ テーブルのステータス: mysql&gt; show table status where …
11 mysql  innodb 

5
テーブルを作成できませんが、テーブルが存在しません
私はこれらの手順を使用してテーブルを作成します。テーブルmy_userはすでに存在しますが、データベースから何とか消えてしまいましたmy_db。 mysql&gt; USE my_db; mysql&gt; DROP TABLE my_user; mysql&gt; ERROR 1051 (42S02): Unknown table 'my_user' mysql&gt; CREATE TABLE my_user (id INT AUTO_INCREMENT NOT NULL, username VARCHAR(255), group_id VARCHAR(255) DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; mysql&gt; ERROR 1005 (HY000): Can't create table 'my_db.my_user' (errno: …
11 mysql  innodb 

2
テーブルから最後の行をフェッチする最も速い方法は何ですか?
次Pricesの列を持つPostgreSQLテーブルがあります。 price (10進数) product_id (整数) 列もcreated_atありupdated_atます。 価格は定期的に更新され、古い価格はテーブルに保持します。特定の製品について、表の最後の価格は現在の価格です。 特定の製品の最終価格を取得する最も効率的な方法は何ですか。 product_id最後のレコードのインデックスとクエリ 3番目の列active(ブール)を追加して最新の価格をマークし、複合インデックスを作成します(product_idおよびactive) または、他の何か?

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