私たちの実稼働環境用にSQL Server 2012に新しいデータベースを作成中です。私はSQL Server Management Studioの中から「新規データベース...」オプションを使用して出力を生成するとき、私は得る:なぜ、これほど多くのANSIオプションがOFFに不履行れ新しいデータベースを作成するときの最適なANSIオプション
CREATE DATABASE [AAA]
CONTAINMENT = NONE
ON PRIMARY
(NAME = N'AAA', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQL2014\MSSQL\DATA\AAA.mdf' , SIZE = 5120KB , FILEGROWTH = 1024KB)
LOG ON
(NAME = N'AAA_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQL2014\MSSQL\DATA\AAA_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)
GO
ALTER DATABASE [AAA] SET COMPATIBILITY_LEVEL = 120
GO
ALTER DATABASE [AAA] SET ANSI_NULL_DEFAULT OFF
GO
ALTER DATABASE [AAA] SET ANSI_NULLS OFF
GO
ALTER DATABASE [AAA] SET ANSI_PADDING OFF
GO
ALTER DATABASE [AAA] SET ANSI_WARNINGS OFF
GO
ALTER DATABASE [AAA] SET ARITHABORT OFF
GO
ALTER DATABASE [AAA] SET AUTO_CLOSE OFF
GO
ALTER DATABASE [AAA] SET AUTO_SHRINK OFF
GO
ALTER DATABASE [AAA] SET AUTO_CREATE_STATISTICS ON(INCREMENTAL = OFF)
GO
ALTER DATABASE [AAA] SET AUTO_UPDATE_STATISTICS ON
GO
ALTER DATABASE [AAA] SET CURSOR_CLOSE_ON_COMMIT OFF
GO
ALTER DATABASE [AAA] SET CURSOR_DEFAULT GLOBAL
GO
ALTER DATABASE [AAA] SET CONCAT_NULL_YIELDS_NULL OFF
GO
ALTER DATABASE [AAA] SET NUMERIC_ROUNDABORT OFF
GO
ALTER DATABASE [AAA] SET QUOTED_IDENTIFIER OFF
GO
ALTER DATABASE [AAA] SET RECURSIVE_TRIGGERS OFF
GO
ALTER DATABASE [AAA] SET DISABLE_BROKER
GO
ALTER DATABASE [AAA] SET AUTO_UPDATE_STATISTICS_ASYNC OFF
GO
ALTER DATABASE [AAA] SET DATE_CORRELATION_OPTIMIZATION OFF
GO
ALTER DATABASE [AAA] SET PARAMETERIZATION SIMPLE
GO
ALTER DATABASE [AAA] SET READ_COMMITTED_SNAPSHOT OFF
GO
ALTER DATABASE [AAA] SET READ_WRITE
GO
ALTER DATABASE [AAA] SET RECOVERY SIMPLE
GO
ALTER DATABASE [AAA] SET MULTI_USER
GO
ALTER DATABASE [AAA] SET PAGE_VERIFY CHECKSUM
GO
ALTER DATABASE [AAA] SET TARGET_RECOVERY_TIME = 0 SECONDS
GO
ALTER DATABASE [AAA] SET DELAYED_DURABILITY = DISABLED
GO
USE [AAA]
GO
IF NOT EXISTS (SELECT name FROM sys.filegroups WHERE is_default=1 AND name = N'PRIMARY') ALTER DATABASE [AAA] MODIFY FILEGROUP [PRIMARY] DEFAULT
GO
? サーバーインスタンスは、私たちのためにRackSpaceによって設定されました。インスタンスに設定されているデフォルトのためかもしれませんか?
おかげで、すべての可能性では、このデータベースが作成された、デフォルトのいずれかに触れることなく、スクリプト、ためのオプションがOFF
をデフォルトされている クリス
良い質問。これらの設定のそれぞれは、それ自体かなり主題です。誰もあなたにスタックオーバーフローの長さ制限について素晴らしい答えを与えることはできないと思います。あなたが心配しているものがあれば、私はそれらを別々に(Googleの後に)尋ねるだろう。私が見ていることの1つは、ログファイルが一定の割合で増加するように設定されていることです。これを固定量に変更することができれば、おそらく最適です。 –
%で自動成長する方法については、@RichBennerに感謝します。最も気になる設定は 'ANSI_NULLS'です。標準は 'NULL = NULL'は' TRUE'ではなく 'UNKNOWN' /' NULL'を返します(オプションがオフのとき)。デフォルトは後者(OFF)であるように見えます。サイトはOFFに設定されたままにしておきます:https://www.simple-talk.com/sql/database-administration/database-properties-health-check/ –
シンプルトークでのアドバイスは健全です。一般的に、デフォルトではNULLを許可する列を作成する必要はありません。 –