I've written code for SQL Server and Oracle databases. One of Oracle's biggest advantages is its support for JavaScript. With Oracle, I can forget about PL/SQL and use JavaScript to write procedures, connect to the database, and accomplish many other tasks. I can avoid procedural code and develop with an object-oriented language. Does Microsoft plan to implement its C# object-oriented language in SQL Server?
Yes, Microsoft has announced that in the next release of SQL Server, code-named Yukon, you'll be able to write stored procedures and functions in any .NET language, including C#.
Documentation on Microsoft's http://msdn.microsoft.com/library site says that you can install SQL Server 2000 on a Windows NT 4.0 server, but that some SQL Server 2000 features need Windows 2000 to work. However, the Microsoft articles don't mention which features don't work. What do I lose if I install SQL Server 2000 on an NT 4.0 server?
By running SQL Server 2000 on NT 4.0, you miss out on Kerberos security delegation and Active Directory (AD) support. Otherwise, SQL Server 2000 on NT 4.0 gives you the same functionality as SQL Server 2000 on Win2K.
I'm developing a tool to migrate data from Microsoft Access onto the more robust SQL Server 7.0 platform. To improve the migration performance, I moved SQL Server from my laptop to a Dell OptiPlex G1—a 400MHz Celeron box that's far from enterprise-class—and timed the conversion. Then, I installed SQL Server 7.0 on a Dell PowerEdge 2450, a two-processor box with 1GB of RAM, and timed the migration again. (I reduced the Max Async IO to compensate for the SCSI RAID system on the PowerEdge versus the IDE hard drive on my OptiPlex.) But the migration operation I performed on the faster SQL Server system took about 30 seconds longer instead of shaving off time, as I expected. I think I should be able to trim additional time from the enterprise-level SQL ServerDell PowerEdge combination. Any ideas?
The performance problem is likely occurring in the disk subsystem. IDE allows disk-level write caching, which is fast but carries a potential data loss, whereas the SCSI system blocks write-caching to maintain data integrity. The net result is that a desktop system with IDE can often outperform a server system with one SCSI interface.
I'm running SQL Server 7.0 Service Pack 2 (SP2) on a Windows 2000 SP1 machine. On my Sales fact table, I created a non-unique index on the State column. When I write a query that filters data based on state, the query optimizer performs an index scan for only a few states; for the remaining states, it performs a table scan. I tried to force the query optimizer to perform index scans on all states by rewriting my query as follows:
SELECT sum(sales) sales FROM vsales WITH (index('IDX_ST')) WHERE st='IL'
However, the query optimizer continues to do table scans on most states. Because the index key is tiny (2 char bytes), I think I can improve response time if I can force the query optimizer to use an index. How can I achieve this goal?
Before you settle on an index as the appropriate access technique, you need to compare the execution costs of your query with and without the index. First, turn on Showplan and use SET STATISTICS_IO ON in Query Analyzer to see the total resource cost for your query. Next, run the following query to force the index, then compare the costs:
SELECT sum(sales) FROM vsales (index =IDX_ST) WHERE st = 'IL'
If the query optimizer doesn't pick the lowest-cost plan, you've probably found a bug and should call product support. Note that if the Sales fact table is so small that a table scan would be faster in all cases, the query optimizer may never use the index.
SQL Server 2000 Enterprise Edition installs SQL Server executables and program files on both of my clustered servers simultaneously. If one of my servers goes down, how can I rebuild the server and reinstall SQL Server on that node?
You can find directions for this core SQL Server 2000 clustering procedure in SQL Server Books Online (BOL). Simply run Setup, remove the failed node from the configuration, repair the node, then run Setup again. When you add that node back into the SQL Server 2000 configuration, SQL Server reinstalls and reconfigures itself appropriately.
I'm running SQL Server 2000 on a Windows 2000 server, and I want to let a nonsystems-administrator (sa) user see and execute a job that runs a Data Transformation Services (DTS) package. When I give the user xp_cmdshell execute privileges, I get this error message:
exec xp_cmdshell "dir c:\"
Msg 50001, Level 1, State 50001
xpsql.cpp: Error 997 from GetProxyAccount on line 472
Can you recommend a better way to allow a non-sa user to execute such a job?
Did you enable a proxy account? You need to enable an account manually in the SQL Server Agent properties dialog box for Enterprise Manager so that SQL Server knows which Win2K account to use when a non-sa runs xp_cmdshell. When an sa executes xp_cmdshell, the extended stored procedure runs as SQL Server's service account.
Prev. page  
[1]
2
next page