title: SQL Server in Docker CREATE INDEX failed because the following SET options have incorrect settings: ‘QUOTED_IDENTIFIER’
body: <p>I have a SQL Server Dockerfile with my import-data.sh importing <code>*.sql</code> files from a sql-data folder. Everything works if I run the <code>*.sql</code> files from a tool like Datagrip but the import fails with this error message when it's ran automatically. </p>
  
  <p>Error message:</p>
  
  <blockquote>
    <p>Msg 1934, Level 16, State 1, Line 4<br>
    CREATE INDEX failed because the following SET options have incorrect settings: 'QUOTED_IDENTIFIER'. Verify that SET options are correct for use with indexed views and/or indexes on computed columns and/or filtered indexes and/or query notifications and/or XML data type methods and/or spatial index operations. </p>
  </blockquote>
  
  <p><strong>Dockerfile</strong></p>
  
  <pre><code>FROM microsoft/mssql-server-linux:2017-latest
  
  RUN mkdir /sql-data/
  EXPOSE 1433
  
  COPY entrypoint.sh /usr/local/bin/
  RUN chmod +x /usr/local/bin/entrypoint.sh
  
  COPY import-data.sh /usr/src/app/
  RUN chmod +x /usr/src/app/import-data.sh
  
  # Copy SQL Scripts to sql-data for processing
  COPY ./sql-data/*.sql /sql-data/
  
  CMD /bin/bash /usr/local/bin/entrypoint.sh
  </code></pre>
  
  <p><strong>entrypoint.sh</strong></p>
  
  <pre><code>#!/bin/bash
  
  #start SQL Server, start the script to create the DB and import the data, start the app
  /usr/src/app/import-data.sh &amp; /opt/mssql/bin/sqlservr
  </code></pre>
  
  <p><strong>import-data.sh</strong></p>
  
  <pre><code>#!/bin/bash
  # wait for the SQL Server to come up https://github.com/twright-msft/mssql-node-docker-demo-app/issues/11
  while [ ! -f /var/opt/mssql/log/errorlog ]
  do
    sleep 2
  done
  
  ## tail the error log for the startup dll and then quit
  tail -f /var/opt/mssql/log/errorlog | while read LOGLINE
  do
     [[ "${LOGLINE}" == *"Using 'xpstar.dll' version"* ]] &amp;&amp; pkill -P $$ tail
  done
  
  echo "Running SQL Scripts"
  # Scan for SQL files and load them in
  for file in /sql-data/*.sql; do
      echo $file
      /opt/mssql-tools/bin/sqlcmd -S localhost -U sa -P $SA_PASSWORD -i $file 
  done
  </code></pre>
  
  <p><strong>/sql-data/setup.sql</strong></p>
  
  <pre><code>IF NOT EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name = 'Products')
  BEGIN
      CREATE DATABASE Products;
  END
  GO
  
  USE Products;
  GO
  </code></pre>