> ## Documentation Index
> Fetch the complete documentation index at: https://docs.maia.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft SQL Server Output

export const ComponentMetadata = ({warehouses, unsupportedWarehouses = [], componentType, connectionInputs, connectionOutputs}) => {
  const allWarehouses = [...warehouses.map(w => ({
    name: w,
    supported: true
  })), ...unsupportedWarehouses.map(w => ({
    name: w,
    supported: false
  }))];
  return <div style={{
    background: 'var(--colors-background-light, #f9fafb)',
    border: '1px solid var(--colors-border-default, #e5e7eb)',
    borderRadius: '12px',
    padding: '20px 28px',
    marginBottom: '28px',
    boxShadow: '0 1px 4px rgba(0,0,0,0.10)'
  }}>
      <table style={{
    width: '100%',
    borderCollapse: 'collapse'
  }}>
        <tbody>
          <tr>
            <td style={{
    fontWeight: '600',
    paddingRight: '32px',
    paddingBottom: '14px',
    whiteSpace: 'nowrap',
    verticalAlign: 'middle',
    width: '180px'
  }}>Project Availability</td>
            <td style={{
    paddingBottom: '14px',
    verticalAlign: 'middle'
  }}>
              <div style={{
    display: 'flex',
    flexWrap: 'wrap',
    gap: '8px'
  }}>
                {allWarehouses.map((w, i) => <span key={i} style={{
    background: w.supported ? '#dcfce7' : '#fee2e2',
    color: w.supported ? '#15803d' : '#b91c1c',
    border: `1px solid ${w.supported ? '#bbf7d0' : '#fca5a5'}`,
    borderRadius: '9999px',
    padding: '3px 12px',
    fontSize: '0.85rem',
    fontWeight: '500',
    whiteSpace: 'nowrap'
  }}>
                    {w.name} {w.supported ? '✅' : '❌'}
                  </span>)}
              </div>
            </td>
          </tr>
          <tr>
            <td style={{
    fontWeight: '600',
    paddingRight: '32px',
    paddingBottom: '14px',
    whiteSpace: 'nowrap',
    verticalAlign: 'middle'
  }}>Component Type</td>
            <td style={{
    paddingBottom: '14px',
    verticalAlign: 'middle'
  }}>{componentType}</td>
          </tr>
          <tr>
            <td style={{
    fontWeight: '600',
    paddingRight: '32px',
    paddingBottom: '14px',
    whiteSpace: 'nowrap',
    verticalAlign: 'middle'
  }}>Connection Inputs</td>
            <td style={{
    paddingBottom: '14px',
    verticalAlign: 'middle'
  }}>{connectionInputs}</td>
          </tr>
          <tr>
            <td style={{
    fontWeight: '600',
    paddingRight: '32px',
    whiteSpace: 'nowrap',
    verticalAlign: 'middle'
  }}>Connection Outputs</td>
            <td style={{
    verticalAlign: 'middle'
  }}>{connectionOutputs}</td>
          </tr>
        </tbody>
      </table>
    </div>;
};

<ComponentMetadata warehouses={["Snowflake"]} unsupportedWarehouses={["Databricks", "Amazon Redshift", "Google BigQuery"]} componentType="Connector, Orchestration" connectionInputs="One" connectionOutputs="Unlimited" />

The Microsoft SQL Server Output component outputs the contents of a table (or view) from your cloud data warehouse (CDW) to your Microsoft SQL Server database. With this component, you can push your data to an on-premises server from the cloud if you so wish.

***

## Properties

<ResponseField name="Name" type="string" required>
  A human-readable name for the component.
</ResponseField>

{/* <!-- param-start:[endpoint] | warehouses: [snowflake] --> */}

<ResponseField name="Endpoint" type="string" required>
  The Microsoft SQL Server endpoint. For example, `<hostname>:<port>`.
</ResponseField>

{/* <!-- param-start:[databaseName] | warehouses: [snowflake] --> */}

<ResponseField name="Database Name" type="string" required>
  Your Microsoft SQL Server database name.
</ResponseField>

{/* <!-- param-start:[username] | warehouses: [snowflake] --> */}

<ResponseField name="Username" type="string" required>
  Your Microsoft SQL Server username.
</ResponseField>

{/* <!-- param-start:[password] | warehouses: [snowflake] --> */}

<ResponseField name="Password" type="drop-down" required>
  Choose the secret definition that represents your credentials for this connector.

  If you have not already saved your credentials for this connector as a secret definition, click **Add secret** to create a secret definition representing these credentials. Read [Secrets and secret definitions](/docs/guides/secrets-and-secret-definitions) for details about creating a secret definition.
</ResponseField>

{/* <!-- param-start:[jdbcOptions] | warehouses: [snowflake] --> */}

<ResponseField name="JDBC Options" type="column editor">
  * **Parameter:** A JDBC parameter supported by the database driver. For more information read [Connection options](https://learn.microsoft.com/en-us/sql/connect/php/connection-options?view=sql-server-ver15).
  * **Value:** A value for the given parameter.
</ResponseField>

{/* <!-- param-start:[database] | warehouses: [snowflake] --> */}

<ResponseField name="Database" type="drop-down" required>
  The Snowflake database. The special value `[Environment Default]` uses the database defined in the environment. Read [Databases, Tables and Views - Overview](https://docs.snowflake.com/en/guides-overview-db) to learn more.
</ResponseField>

{/* <!-- param-start:[schema] | warehouses: [snowflake] --> */}

<ResponseField name="Schema" type="drop-down" required>
  The Snowflake schema. The special value `[Environment Default]` uses the schema defined in the environment. Read [Database, Schema, and Share DDL](https://docs.snowflake.com/en/sql-reference/ddl-database.html) to learn more.
</ResponseField>

{/* <!-- param-start:[sourceTable] | warehouses: [snowflake] --> */}

<ResponseField name="Source Table" type="drop-down" required>
  The table (or view) on your cluster to copy to SQL Server.
</ResponseField>

{/* <!-- param-start:[targetTable] | warehouses: [snowflake] --> */}

<ResponseField name="Target Table" type="string" required>
  A name for the new table.
</ResponseField>

{/* <!-- param-start:[targetSchema] | warehouses: [snowflake] --> */}

<ResponseField name="Target Schema" type="string" required>
  The schema for the target table.
</ResponseField>

{/* <!-- param-start:[loadColumns] | warehouses: [snowflake] --> */}

<ResponseField name="Load Columns" type="dual listbox">
  Use the arrow buttons to select which columns to load. Move columns to the right to include them in the load. By default, all columns will be selected for the load.
</ResponseField>

{/* <!-- param-start:[tableMaintenance, updateStrategy] | warehouses: [snowflake] --> */}

<ResponseField name="Table Maintenance" type="drop-down" required>
  * **None:** Assume the SQL Server database already has the table defined with the correct structure.
  * **Create if not exists:** If the named target table does not yet exist, it will be created.
  * **Replace:** If the named target table already exists, it will be dropped and replaced by a newly created table. Use this setting with care.
</ResponseField>

{/* <!-- param-start:[primaryKey] | warehouses: [snowflake] --> */}

<ResponseField name="Primary Key" type="dual listbox">
  A column or a group of columns used to identify a row uniquely in a table. Use the arrow buttons to select which columns to use.
</ResponseField>

{/* <!-- param-start:[truncateTargetTable] | warehouses: [snowflake] --> */}

<ResponseField name="Truncate Target Table" type="boolean" required>
  Whether or not to truncate the target table before loading data.
</ResponseField>

{/* <!-- param-start:[onWarnings] | warehouses: [snowflake] --> */}

<ResponseField name="On Warnings" type="boolean" required>
  Choose whether to continue with the load if an error is raised, or to fail the run.
</ResponseField>

{/* <!-- param-start:[additionalCopyOptions1] | warehouses: [snowflake] --> */}

<ResponseField name="Additional Copy Options" type="column editor">
  Any additional options that you want to apply to the copy operation. For more information, read [SQL Server Bulk Copy Options](https://learn.microsoft.com/en-us/sql/connect/jdbc/using-bulk-copy-with-the-jdbc-driver?view=sql-server-2017#sqlserverbulkcopyoptions).
</ResponseField>

{/* <!-- param-start:[batchSize] | warehouses: [snowflake] --> */}

<ResponseField name="Batch Size" type="integer">
  The number of rows to load to the target between each COMMIT. The default is 5000.
</ResponseField>
